<?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/2020-01-31"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:tenb="http://www.tenable.com/20201231"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tenb-20201231.xsd" xlink:type="simple"/>
    <context id="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6b0c16d97f474184a80feb50b45c6455_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ie560e4ead3e2431db5cb419545df765d_I20210216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2021-02-16</instant>
        </period>
    </context>
    <context id="i00dd386506e24e45a76f365b282bd42b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i537c9b10abec4597aa5185458ddca853_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesARedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i20fafbcf7b1d47389f760da82115d2cf_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesBRedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i30c1e732f2fa43aa9af5ee18cd4c657c_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i4d91cbe0a7134eac9c0d8a7913cdefb4_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i4c3e18107fdb47b6872177f7b36d3ecc_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i075f42e80ea5404786cab77279ca75b8_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i4f1e8ad2e0ad4290b459ef0e592db142_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesARedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i3f7bcce241ae424283035b3957ad702b_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesBRedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i50af9819d08142b1b8ed9c8c129e424f_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i05d6b60de4cb4550ae699f13cf50c3c2_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesARedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i3757423740ee4b47968c68ae4fd4b749_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesBRedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="id6b28ad3b3c3462fafeae45a0fb4bb60_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i5893ff2c5c724c1bb3e4f8339e31ba39_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i8f6018225772460b954723fcb2b8c1c0_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i293ffb298d23492e809b8415bec29cae_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i2df17937b2384a758cf75cd568c297f2_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i572d863cc4c5433da11942974d854b1e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5f0acdf1ea9b4161a1c3a161b0145545_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if4032ac506a643cb9f7b078d29b9d268_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id8b43675b9644e9ebe4a355e8f2294ae_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id0c1fcfc9c10449a8a6cf2068319f8b3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibbfaf2fa11e94b28bb4f550851cc1ab9_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="idf53c022d598476aac7d36433c646ccc_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iaf37394a97df41168e9395a6687e102a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i077512b60c154951814e05152d405b36_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iab2068f6b03c4c91a81ab669063b9a3c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if8f4992650a243aea39a1a7f30df7ccf_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4c53f094e94b4c5f9a7e580d4e47713e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9d87e5e3864049cdaa189676b0d7efb2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5c8ffac6a56f4c8f9a7b731bdbff0c61_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i52380df071464037b0ebe2e2a6289258_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="if60a80b117944d318de63cd57cbf3623_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i8e78fede6e214860ac828ec1f4eaf2a6_D20180730-20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-30</startDate>
            <endDate>2018-07-30</endDate>
        </period>
    </context>
    <context id="ifb33953877cc4582bcbc6976cc2223a5_I20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-07-30</instant>
        </period>
    </context>
    <context id="i24e5f39afd4b4f39a85ad0e9b909383f_D20180730-20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:OverAllotmentOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-30</startDate>
            <endDate>2018-07-30</endDate>
        </period>
    </context>
    <context id="i9de27a8108e94e4e92a3a195506fea57_D20180730-20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-30</startDate>
            <endDate>2018-07-30</endDate>
        </period>
    </context>
    <context id="if9231d55c707443aae134d673c25ec4b_D20180730-20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:PreferredClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-30</startDate>
            <endDate>2018-07-30</endDate>
        </period>
    </context>
    <context id="i60ff1b85e4fe40b1b2f45ca726d2f06f_D20180730-20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:PreferredClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-30</startDate>
            <endDate>2018-07-30</endDate>
        </period>
    </context>
    <context id="i14da34c659a4437388d66aec70adf10e_I20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2018-07-30</instant>
        </period>
    </context>
    <context id="i2e0b2618c5274e83bc09d222b4b8a5b8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i27479813747844f2a07759cdf369ec84_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i7700b8aeb2b347e0abd25d2e6bc10a00_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:CashAndCashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i694e3530b0e842c6a4a25cce9df74a32_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i173e1677618c4a81ac67ed7735e40c01_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5e6c4b6a17264c4188e7da264ff1625c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icd1a8e71843f45c692efba3530cb94ea_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8b63b24c4e6c491188dcb002d2a0cdf3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8993ae03bba54b55ba0136a9b668970d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i377659c15552459595eed2cae3d48c16_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibfc857d62a024deaa4a799bb96af809e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1375cfdd9e9e4060b48671c18d42705b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie7cdff2a43ef4140b0b6e5c474a495b3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i486ecf96fb894c14b8d90a4a84376a6e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i466bff6115964799bbc2e5c6f0e1a0d8_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="if8a94335856744a780aa1d14faf01e5c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i21188cdb6bb54be6a03568c0c4a984d6_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i427961c51cea4ed6a49e9f09cbbf87aa_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7bf976fb0aa24fd0a669db652576c81f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i79702c1f7e7647258970a8a7f9bfec70_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i20038c08a9534ca5b464e22df19a7fbe_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7cdaf45726ac4034b2984f0371d24d82_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i225146fa604a47b480d87c8326d52074_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i964dd753e60f469594ce5bc933e9850f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iac876a3242cc440e9b5c13580ed40cd9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifce5ad7b99a3400cbf1aa1e13636d7d3_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i8d98cd1029314ef3a7349f87990da315_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idf4e70a5a14c454783ee8b5da2223805_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3c6bb857b1fe40b9842d346e8d96f5f8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i26f3bfa57d1348c9bd8a039b702bf7c3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie1be4d52baf84613aa1d07b0880b61ab_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8ca864da4f4e42fc9da7fd0ccdf61402_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0397d9f0599a446c9c0b069937831d9e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i60a1c982139d44cd86d3b2b4a428a51a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6da82c8ff4a64b0280e62fb5f651287f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0ee113862bdf4204aa10ea54af200128_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i682978203dc5407e9930fedbaa094fd6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2623e973d98144c49fc5d54178ad405e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i372d90a2f7b048c6946df8d530797a8f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i46c304eaebb544e2b3a36eee46c294e5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2f559fe945214f9e9204e301bb265ccf_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie891e2516b1c4a25ac43fbe08a8479de_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5eeb7d51b4be44b8b80673f497c7ac00_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="ifd3e6e761df94a0ea269276cfef56c0e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i6d83440197044af6bd0e2baecf43ff78_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i9a6c04e831054d4797eb2a2fe84e6a52_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="iaf26867b17f3470b9899e5129f435d3a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="icd21da0584cb421dba83ede152fe3cc6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i3e18850873de46ba95168f1ba3c8349e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i689bfc9b5ed94bd2806871e6e1b7595b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifeebaf1349bb40a784076030b7553968_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i539499d7d9174a1d8001f9c35d473994_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="ie7c2835fc31d4c3da17d26d26d37ef06_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="ifa01951177964c17950b66efb259a926_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i823a084ce06444dab7a1f6ce2f28ee9f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i0f6d30e4c86147cc99580b7445e3ed86_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i24dc98669c2c446bbc736ddbe43822e8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i89359414f7144cedb621b9e1edc32f0c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0845c027d5224a499201fceae3c45f02_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="ic4dff6b11c2a45d2a1ad1c5de6465f77_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="i8b0124a9e955430ca163189281958f30_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-12-31</instant>
        </period>
    </context>
    <context id="iac5187b2b3ba4dcb88e5daffd227f50a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4c12eeee27f54b97b9ad50c1cd5f5593_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i7e4afe7a19b3451e80d2cc691f2761a6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="ie874578eed0e402a86af0c6b8625a047_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i6e386aa658424b108ab0c515e62e5a3c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i8b0fe532ca6247878bf9adc4abde87f3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="ic008fee88b91458d84c16788a963d6d2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i2790ab138d3845e5b29c21eab9ab3306_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie7c85cdc51984ed29a4bc1829508a0aa_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8e412fde76e54b81901ed7206730fcd2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i49eb814de27146bfba058b230124ba78_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i03801da101d2449fb1de0b95b7ee34ab_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="id84a8d4b903d4e4cac73127987cd57c2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i93d7cb70a4af46e0b56347ecb0c421d4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="ia9dd6626ecf8494494fd8af57a4481e9_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i90a7ca2d9b19460ab1de04005ba78fd5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i1fbc460067854454a449ce1c72fcf6eb_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia063eeabb5d44d3fa911c3a7cbb58622_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="ia16d715ed33e4bd8a30fdd52dae5d302_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i7e8b7f2ea6a04db99d05ef1db6bcfa13_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-12-31</instant>
        </period>
    </context>
    <context id="i092ce7fe38364fb6ad5bf5c83a758459_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1cc495b67f774aa4be9a2a4e3c49dc03_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7ae11049236c4209b5377cfd30888aed_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iec9f080af26947f7a18b32a47ab80cf3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id3eef727ef314a40bfba659412c709ba_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8ecd6855a9c14ed7999407f6f1150665_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icb7dd65f83d04f3ba3ac32b6863d35f6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i26f070e1faec428695489e81e2a17383_D20191202-20191202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:INDEGYLTD.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-02</startDate>
            <endDate>2019-12-02</endDate>
        </period>
    </context>
    <context id="iefaac90c1d014270be244f7d1a866acb_I20191202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:INDEGYLTD.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-02</instant>
        </period>
    </context>
    <context id="i78ecc67e6fe24326971fbaaabaadb923_D20191202-20191202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:INDEGYLTD.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-02</startDate>
            <endDate>2019-12-02</endDate>
        </period>
    </context>
    <context id="i2d2b3e04e84d41cea6a2681701841662_D20191202-20191202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:INDEGYLTD.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-02</startDate>
            <endDate>2019-12-02</endDate>
        </period>
    </context>
    <context id="if1cc2b1a7f0643ae9b6625b6d3b114e7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ieda6c6fc210f4ab182768592cce6b775_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i7104e6feefb8440db5898ee664b05b63_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i17be1a0b42234695bfe1cb4faceb4c54_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8facab782ac24b86bea435adda7979fd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4a385ff96f394ce4b045ba088c6b5101_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i126010efc6f54a978b020ba15223c50d_I20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="i15b2633492e640aaaba022103c7d6cc4_I20170504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2017-05-04</instant>
        </period>
    </context>
    <context id="i5468c1c127da4f659a45da6d4e2c5314_D20200724-20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-24</startDate>
            <endDate>2020-07-24</endDate>
        </period>
    </context>
    <context id="i9df84ae561234b92a6a571cf1cffd485_D20200724-20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-24</startDate>
            <endDate>2020-07-24</endDate>
        </period>
    </context>
    <context id="i201fd1635f6c4666a1a09c99470649ad_D20200724-20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-24</startDate>
            <endDate>2020-07-24</endDate>
        </period>
    </context>
    <context id="i03fcad7c660b44c29934887452c56af7_D20200724-20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-07-24</startDate>
            <endDate>2020-07-24</endDate>
        </period>
    </context>
    <context id="i5b4eae3254794d49897f76777a569cbc_I20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="ib47c2ac2a40d4183a1daef885570d12e_I20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="idb547dcf4d644092a5a22849154ac690_I20200724">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="i6454627eb7854eabaa4e61fdb9de9ecb_D20121001-20121031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesARedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2012-10-01</startDate>
            <endDate>2012-10-31</endDate>
        </period>
    </context>
    <context id="i11334bb9ce6b42c1a65c821d07c1ae3a_D20151201-20151231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesARedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-12-01</startDate>
            <endDate>2015-12-31</endDate>
        </period>
    </context>
    <context id="i0f79a29c6cfa43d59dfda986a6dd802e_I20151231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesARedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="i49af277fd58e4f9d9d0e04dcbc698a64_I20151231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="ia5238d341a9843eca70f734012915269_I20151231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesBRedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="if9d7f05b7f4d4579967b4eca53b500c2_D20151201-20151231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tenb:SeriesBRedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-12-01</startDate>
            <endDate>2015-12-31</endDate>
        </period>
    </context>
    <context id="i84fcc29bb392469995181033a703db21_D20180730-20180730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2018-07-30</startDate>
            <endDate>2018-07-30</endDate>
        </period>
    </context>
    <context id="i8ac1700ce7f24928b30b1de99b8edea5_I20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tenb:EquityIncentivePlan2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-01</instant>
        </period>
    </context>
    <context id="ibb33239d3a6f4ca2ad169bb40acbb720_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tenb:EquityIncentivePlan2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5fe6bcaadf1c44f68bfbbe8a886043ea_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id9a9cae515004e67b93e52c9f5f0756e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="idcdda52b336747e6b857b67a6f14c5a4_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="iff05c578be81456cabe8d63b3b3fd684_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iced4abada84748718d5e3b3571d3333b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iae06a667f1e247e58307f8217024c44e_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="idfd86c1c9b61495f824cb0ac2d35914f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i97c6baefcf2942e6ac186940d734fb48_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if1d0d048cd7447b6a35163f87efd8fc3_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="if3f085ae0eab4cdf80707ceb6e438ba0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7545d734c590437fa2b9054bdf48c2f1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id406b37736274d7d9228fea9b16aaa09_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i26fa5e36ab544d718be6ee5cfa4ef375_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i699f336345ae463fb521f78922569183_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie1e83109239d486b97633d1909a49571_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i17b2780b14454735b2174b70041d0ee7_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="ie1140c7a8a724f8ca013e047bc480678_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i1fd45200c490485794569476d5f7af17_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iaf66004484c74020ac45023808ec8c12_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="idba3f0f355ca4e839d66347a6ea1f6be_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i87615f8ff795429eb733d2bea1ea8bb3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iab682564f0a043f48db28c0809870451_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0da090baee004748bb3086cbd8ddeb1d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idb2132565e8742439998a0c199f67ab7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i94cfb715c34d40a798a95d1eb7dde000_D20170101-20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="iaa81e531fe6a40109768cd22b3348905_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9be08a1e568c4c28a2eab42565eeedd9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i840ef9d1a9f9414cb49815e99c85426a_I20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-01</instant>
        </period>
    </context>
    <context id="ifacd4119228648d39bd49c58980c6404_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib760973c0850400fa91abb386cbe25a6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="id2bda005d41a4ada8ccf800b341daf85_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5ba12f5657fa400ea97026d5a44133aa_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1fe00056a5514715b47f6fcf819f14aa_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9e76145d411c438ba36e3a4fae82a3fb_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5a96b1d197a74713acda22e53b74e7c3_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="ibfdb9d7d1d674fa7a227491b71573da3_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="ib0bce4df3e0c4b7baf902929be01de78_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i5acf6ac6954748178b25f760fabb5be5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i953bd71de9d24220908be527f46c2e0b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia168c226855b4660b320556367e179b7_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i8b1a3de3e5384fc9a81655919803848b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4abb992aee48400ab4a8276000483459_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ieafc9f885c384ae2a3372100649fec4e_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i0e8059cc39fc48ab9a6e0f9f32a1248e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic4c1eee198cb424e823fdd1e6dde9adf_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3737618ffdf64452bb3b51179a859b63_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="ic27094f620874d82a2cebfaec0dbb841_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic1298f4dd0b3421fa6a3169239f3fcb5_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i170f8a84ee4748b1b7628c1017b79481_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i981c1ed62de54b3c8403d622f2a9c520_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i592544fd7dbd4b6b84167b5ea7fd37f9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i407cd04a438648d98b3be6470a4963d9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6cbd4c2586694f5aa7c95e32277f2def_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i79d91086bf40464c84cee1477d44f362_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1ed2b3bae586433d97ff8c226ec6777c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i256d3e2549d649e2bd0080c93eafd029_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9efcba009e804ab98e7d500c128a70b6_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i57c2c79d18824e4699c68a157948f576_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia956626d89c841d1b1ae8ab55c83ca52_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i82434949fd144077b90aa289845a8f7f_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i07b829eee227466f992642f25597a3e7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2d1bee89ab554d349e2453b2a1a960bc_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5cd71738f54445a98fb83d16fa7a83c8_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i2c80633eb34b46aaaa06214120455c3b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i29c70e399b894e8bb57e97542ccf0d66_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic43c53e40c49473b803c9a543e030fb8_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i7b0725e01bf2426990ab1b94c25269a1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i741fe0b8335f4000a4374c836d316e85_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i593c6cf6c4514a1cb525a09a771014b1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2b9513b078e544b18f79c4b523cac707_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i11c8603a1a38474fb6cefb077ec388b2_D20210210-20210210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:AlsidMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-10</startDate>
            <endDate>2021-02-10</endDate>
        </period>
    </context>
    <context id="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2019-10-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia0933699f5544bfbacc5a89fb00ffe03_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i901be13890ea4a69b80b79019dde2403_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8641fb041ebd4512a3acf8f4abca62f5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i01c627b8d1384cd1ae8abb483c17d14d_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i8b93108ed8a140969a04ed2b93281d55_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3271f897678a49cb827f8f378126d400_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="if1118ead2b0c43f59d9c44705216f46f_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </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="segment">
        <measure>tenb:segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl80L2ZyYWc6OGI1ZmI2ODBiNmVlNGVhMGFhYTlmZDFlZThjOTEyYTEvdGFibGU6M2YxNDgxNDRlM2U5NDRlYmE2NzBhOWZiYThjN2IyN2QvdGFibGVyYW5nZTozZjE0ODE0NGUzZTk0NGViYTY3MGE5ZmJhOGM3YjI3ZF8zLTEtMS0xLTA_5b94a5e6-d7d2-49f8-b337-5c0a0624b132">0001660280</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl80L2ZyYWc6OGI1ZmI2ODBiNmVlNGVhMGFhYTlmZDFlZThjOTEyYTEvdGFibGU6M2YxNDgxNDRlM2U5NDRlYmE2NzBhOWZiYThjN2IyN2QvdGFibGVyYW5nZTozZjE0ODE0NGUzZTk0NGViYTY3MGE5ZmJhOGM3YjI3ZF82LTEtMS0xLTA_0a9a2eed-a9f2-405c-97d1-32c6950c98fc">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl80L2ZyYWc6OGI1ZmI2ODBiNmVlNGVhMGFhYTlmZDFlZThjOTEyYTEvdGFibGU6M2YxNDgxNDRlM2U5NDRlYmE2NzBhOWZiYThjN2IyN2QvdGFibGVyYW5nZTozZjE0ODE0NGUzZTk0NGViYTY3MGE5ZmJhOGM3YjI3ZF83LTEtMS0xLTA_26f36966-37eb-4491-b69f-063b09c7f7e3">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl80L2ZyYWc6OGI1ZmI2ODBiNmVlNGVhMGFhYTlmZDFlZThjOTEyYTEvdGFibGU6M2YxNDgxNDRlM2U5NDRlYmE2NzBhOWZiYThjN2IyN2QvdGFibGVyYW5nZTozZjE0ODE0NGUzZTk0NGViYTY3MGE5ZmJhOGM3YjI3ZF84LTEtMS0xLTA_3ef28a1e-5b68-4c53-b21c-3332dfab4bc5">false</dei:AmendmentFlag>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="i5e6c4b6a17264c4188e7da264ff1625c_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTIxMTk_af4b571c-825d-40cc-8134-1b873fdc6dc3">P3Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="ibfc857d62a024deaa4a799bb96af809e_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzg0ODI5MDc0MjMxNQ_9ccac568-4c12-420e-953a-d21ae19eef1b">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <tenb:LesseeOperatingLeaseOptionsToTerminate
      contextRef="ibfc857d62a024deaa4a799bb96af809e_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzM0MA_06a7a0f7-d1e7-4687-b170-c8c32fd38df2">P1Y</tenb:LesseeOperatingLeaseOptionsToTerminate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i0da090baee004748bb3086cbd8ddeb1d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2MzgxNTk_9ebe543c-13d8-4803-8f0b-58dce03c2011">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="iaa81e531fe6a40109768cd22b3348905_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2Mzg0OTI_d71329c3-4eb5-4462-bf76-150e3395bff9">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18xMjE_13676f51-bcd9-4c20-bd26-648d2a1fc18c">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6M2MwMTY4OTQzNDI4NDUxZGE3YzcyODg0MGFmNTRlOGEvdGFibGVyYW5nZTozYzAxNjg5NDM0Mjg0NTFkYTdjNzI4ODQwYWY1NGU4YV8wLTAtMS0xLTA_b6e60e5f-014f-4c7b-a338-3384a0f0fa42">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18zODQ4MjkwNzAwNDc4_6e61a32f-479a-4dd5-b597-05578b586215">2020-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18zODQ4MjkwNzAwNDc4_e02cf5fc-7c0b-4b04-967a-e1ff3f2d498b">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NTIyYWE4ZjIyZDI4NDA5MWIxNTA2ZWY3NmM2ZmQyMTYvdGFibGVyYW5nZTo1MjJhYThmMjJkMjg0MDkxYjE1MDZlZjc2YzZmZDIxNl8wLTAtMS0xLTA_538365c4-cb23-4988-8e45-d4e2938d759c">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjc0_4af0285c-7113-4797-8e1e-3801dee6c882">001-38600</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjc1_4d392449-9d64-48e4-b02f-8e605d72cb8f">TENABLE HOLDINGS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6YmE2ZTM5ZTg3MWMyNDQ5NTliMDkwNTEyYTI2OWYwYmUvdGFibGVyYW5nZTpiYTZlMzllODcxYzI0NDk1OWIwOTA1MTJhMjY5ZjBiZV8wLTAtMS0xLTA_968fdbcc-a93a-430b-ab1e-7f24e0019ffb">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6YmE2ZTM5ZTg3MWMyNDQ5NTliMDkwNTEyYTI2OWYwYmUvdGFibGVyYW5nZTpiYTZlMzllODcxYzI0NDk1OWIwOTA1MTJhMjY5ZjBiZV8wLTItMS0xLTA_4a845a52-0bd8-4f7b-b30c-c687526faa10">47-5580846</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjc2_3645dd36-89dd-4918-9f07-91fbfa07080f">6100 Merriweather Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjgw_3a6c1165-951e-474e-a8dc-3f0fe9b704a3">Columbia</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjcz_0879b8fe-c06e-4437-bf40-1472ae773e0b">MD</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjgz_250ff65e-6adc-4b26-8c33-2ef244507197">21044</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjc3_e0258433-a70f-4daa-80e7-d5421e9eba26">410</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjg0_e2ddc2b3-49d5-4d2f-8396-8a50a42f44be">872-0555</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NGJmZDI1MzAxNTczNDg3Y2FmODdmOTA4YWE0NjhhZjgvdGFibGVyYW5nZTo0YmZkMjUzMDE1NzM0ODdjYWY4N2Y5MDhhYTQ2OGFmOF8yLTAtMS0xLTA_713b4f0d-20ec-40d6-86a8-11626ccc06e2">Common stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NGJmZDI1MzAxNTczNDg3Y2FmODdmOTA4YWE0NjhhZjgvdGFibGVyYW5nZTo0YmZkMjUzMDE1NzM0ODdjYWY4N2Y5MDhhYTQ2OGFmOF8yLTEtMS0xLTA_f08699c3-c638-4a31-83dc-33eaaaef95cf">TENB</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NGJmZDI1MzAxNTczNDg3Y2FmODdmOTA4YWE0NjhhZjgvdGFibGVyYW5nZTo0YmZkMjUzMDE1NzM0ODdjYWY4N2Y5MDhhYTQ2OGFmOF8yLTItMS0xLTA_97af62d6-7f69-4e29-904c-089afdb9ec87">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjgx_671a0afa-cbe2-4d0f-9ebe-3e8bc1b4ef45">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjg1_ce2239cc-caac-4e6f-b8a5-5295c52e9214">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjc4_7584865c-db7a-42c7-8773-311474c78824">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjgy_c5e4dd15-127c-4ba2-b29d-e48006b23ea1">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NTk4OTZjYzIyYzBjNGNmNWE0OWU2MDBiNjZlZTU2ODcvdGFibGVyYW5nZTo1OTg5NmNjMjJjMGM0Y2Y1YTQ5ZTYwMGI2NmVlNTY4N18wLTAtMS0xLTA_74780228-a8c6-4a4f-a9bf-f4af84a4ed1e">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NTk4OTZjYzIyYzBjNGNmNWE0OWU2MDBiNjZlZTU2ODcvdGFibGVyYW5nZTo1OTg5NmNjMjJjMGM0Y2Y1YTQ5ZTYwMGI2NmVlNTY4N18xLTQtMS0xLTA_49a6d79e-5ad1-47ea-be63-6395f8c66793">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGFibGU6NTk4OTZjYzIyYzBjNGNmNWE0OWU2MDBiNjZlZTU2ODcvdGFibGVyYW5nZTo1OTg5NmNjMjJjMGM0Y2Y1YTQ5ZTYwMGI2NmVlNTY4N18yLTQtMS0xLTA_a092354f-e815-4ebb-8360-ff618afa7f10">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18zODQ4MjkwNzAwMzgy_68465db2-c95d-4cb3-8c26-aedf8253135d">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjg2_90a170c8-69db-408d-ab3c-82c9dcbece9d">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i6b0c16d97f474184a80feb50b45c6455_I20200630"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yMjI5_1aeeffd2-61e2-433a-a022-c167329886ec"
      unitRef="usd">2100000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ie560e4ead3e2431db5cb419545df765d_I20210216"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yMzEy_fb0e70b3-3479-4dd7-85a1-cb171079ebd3"
      unitRef="shares">104036276</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xL2ZyYWc6MjRiYjI1MTRkOTY2NDc2OWEzYjkxMjFmOTg5ZmVkYjMvdGV4dHJlZ2lvbjoyNGJiMjUxNGQ5NjY0NzY5YTNiOTEyMWY5ODlmZWRiM18yNjc5_1e169d05-358a-4a17-82de-0cb1ed99d70a">&lt;div style="margin-bottom:3pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;DOCUMENTS INCORPORATED BY REFERENCE&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Portions of the registrant's definitive Proxy Statement relating to the&#160;2021&#160;Annual Meeting of Stockholders are incorporated herein by reference in Part&#160;III of this Annual Report on Form&#160;10-K. The Proxy Statement will be filed with the Securities and Exchange Commission within 120 days after the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNC0xLTEtMS0w_fc2cb2b4-5055-4aad-a4dc-f24b934564e1"
      unitRef="usd">178223000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNC0zLTEtMS0w_884aac06-ee6f-4ff6-8d56-d93bf9fb8641"
      unitRef="usd">74363000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNS0xLTEtMS0w_ab15b626-a0a9-4428-b8f5-1cb1ce908cb5"
      unitRef="usd">113623000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNS0zLTEtMS0w_7b13daff-64eb-4436-9bc4-f486922552ec"
      unitRef="usd">137904000</us-gaap:ShortTermInvestments>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNi0wLTEtMS0wL3RleHRyZWdpb246Yzc0OTU5ZGNiNWE3NGQyMDg0ZjQ4NjllNmExZTMzMjVfMTA5OTUxMTYyNzkwNQ_3db0d3d0-c0cd-4a1f-a382-56920805aedc"
      unitRef="usd">261000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNi0wLTEtMS0wL3RleHRyZWdpb246Yzc0OTU5ZGNiNWE3NGQyMDg0ZjQ4NjllNmExZTMzMjVfMTA5OTUxMTYyNzkxNA_1437505a-68ea-41fa-8abf-7b675c1a3f5f"
      unitRef="usd">764000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNi0xLTEtMS0w_cf82b861-9f15-4aa3-9e8e-1bdb772e2954"
      unitRef="usd">115342000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNi0zLTEtMS0w_5b03687f-0628-40df-bd28-e5216f3d0b62"
      unitRef="usd">94827000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNy0xLTEtMS0w_2934f109-50ef-4756-809a-6d5f14955a4e"
      unitRef="usd">32143000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfNy0zLTEtMS0w_e9decfee-776e-4579-9cef-70f89a870c39"
      unitRef="usd">28499000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfOC0xLTEtMS0w_eefe2c8b-284c-42af-b581-56c6a11b2329"
      unitRef="usd">44462000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfOC0zLTEtMS0w_60bd1549-7962-4a96-8bc6-336a9d2897cb"
      unitRef="usd">27369000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfOS0xLTEtMS0w_90bf046f-4998-4bb9-b883-c82cacad15f2"
      unitRef="usd">483793000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfOS0zLTEtMS0w_df2b9cbc-eb54-4e59-982c-2808f0922d6d"
      unitRef="usd">362962000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTAtMS0xLTEtMA_36af90a7-b789-447d-b6c4-65afa5df461d"
      unitRef="usd">38920000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTAtMy0xLTEtMA_9de837ed-11c2-47d7-bd03-af732fe28358"
      unitRef="usd">26847000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTEtMS0xLTEtMA_5bb588da-c4af-4848-871d-31d1305d8fbc"
      unitRef="usd">46733000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTEtMy0xLTEtMA_3d9808ab-2c67-4400-9d0f-2067ed94c826"
      unitRef="usd">43766000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTItMS0xLTEtMA_93211868-f00d-4440-b82b-ce81635e9418"
      unitRef="usd">39426000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTItMy0xLTEtMA_b184f56f-1512-4b88-83eb-81e99fa41464"
      unitRef="usd">42847000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTMtMS0xLTEtMA_b7198358-3c6c-440d-8025-54038a5977d2"
      unitRef="usd">13193000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTMtMy0xLTEtMA_21c2ed1a-4935-4801-bcf5-4c6eae540946"
      unitRef="usd">15508000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTQtMS0xLTEtMA_94ebd247-f65f-47f1-9d09-1fafa7a0381f"
      unitRef="usd">54414000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTQtMy0xLTEtMA_f6974f66-0fdd-4552-a246-b90d3ded905c"
      unitRef="usd">54138000</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTUtMS0xLTEtMA_02e8d86b-b666-4c98-a2aa-d2af613133b7"
      unitRef="usd">14110000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTUtMy0xLTEtMA_b0c93aa4-b3c4-40f5-bbe9-9043403a5452"
      unitRef="usd">12544000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTYtMS0xLTEtMA_0384ab08-38bc-4b90-af94-a5eb9d9b2bd9"
      unitRef="usd">690589000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTYtMy0xLTEtMA_b28a9f29-4ba2-4911-af67-0f37ca8e17db"
      unitRef="usd">558612000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTktMS0xLTEtMA_cd822a2e-5a93-4dcb-9fc2-84bea89e8d68"
      unitRef="usd">5731000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMTktMy0xLTEtMA_4a325810-35d6-4547-be9c-d0870190b772"
      unitRef="usd">10168000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjEtMS0xLTEtMA_913a0786-4362-46ea-a478-f37f859be754"
      unitRef="usd">35509000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjEtMy0xLTEtMA_2e6579fc-d936-4c0a-9118-f9337578268c"
      unitRef="usd">36634000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjItMS0xLTEtMA_060cd84a-7191-4093-930c-cc512f2a8a87"
      unitRef="usd">328819000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjItMy0xLTEtMA_38ad7537-b995-4ac3-8b81-333d2d8ee674"
      unitRef="usd">274348000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjMtMS0xLTEtMA_b263df1b-ccc2-47c8-a6e9-dded33ae32a4"
      unitRef="usd">3815000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjMtMy0xLTEtMA_c7555f23-72fc-4538-95f3-d14567138275"
      unitRef="usd">5209000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjQtMS0xLTEtMA_1c7702c2-c2e1-4a65-8aa9-c996757a6958"
      unitRef="usd">1028000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjQtMy0xLTEtMA_51f06911-f02a-4649-9dac-a79a7224eeaa"
      unitRef="usd">1284000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjUtMS0xLTEtMA_0c81fb1a-a5a5-4795-a701-fb4259988c4f"
      unitRef="usd">374902000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjUtMy0xLTEtMA_001f57dd-6abc-4eab-a8ce-e639d22c7858"
      unitRef="usd">327643000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjYtMS0xLTEtMA_589c0547-d5a1-44a3-9c1e-5a38ab65cc7d"
      unitRef="usd">105691000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjYtMy0xLTEtMA_fc26f532-5493-4395-904e-7aa138e075f1"
      unitRef="usd">88779000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjctMS0xLTEtMA_938a17a8-6752-4b49-ab5e-ba4885fe53cb"
      unitRef="usd">54529000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjctMy0xLTEtMA_e9a4b068-0379-4449-a411-b052b47be71e"
      unitRef="usd">40663000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjgtMS0xLTEtMA_21daeefb-8870-48d6-b35e-0bf94f1db346"
      unitRef="usd">4802000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjgtMy0xLTEtMA_a2a419d5-ef49-4b68-9a5d-b700aa49116e"
      unitRef="usd">2622000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjktMS0xLTEtMA_08712de2-c84f-4286-aeb3-16bcd700bc8a"
      unitRef="usd">539924000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMjktMy0xLTEtMA_ac909739-276a-4b73-9684-f645c2fac2e9"
      unitRef="usd">459707000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5MzY_b653d649-3f23-4d7c-a7dd-021a9073a9db"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5MzY_d6040370-367b-4cb6-a47c-207127fde210"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5NDc_44f0c60f-f6c0-4c24-828e-e298230c922a"
      unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5NDc_590fa750-c7b3-4f56-a2a2-8e418d1440a5"
      unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5NTY_35bf71de-8d31-4f57-a1fb-592540e54797"
      unitRef="shares">103715000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5NTY_aae06b9d-1fa8-46f0-bbdf-67f5afd441e5"
      unitRef="shares">103715000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5NjU_475b6d79-8d68-4803-a4ef-f43e4891b9ca"
      unitRef="shares">98587000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJjYTBiOGQxOTNmYTRmYmE4N2Q5MGNkNDFhMDkyOTZhXzEwOTk1MTE2Mjc5NjU_ddc62de6-1051-4bd9-8fb4-3c43c83628f2"
      unitRef="shares">98587000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMS0xLTEtMA_cb9bf6a7-e385-46cb-ba1e-0b66fe35c1a4"
      unitRef="usd">1037000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzItMy0xLTEtMA_32eeba28-f6ca-47a6-956b-c4b41a571147"
      unitRef="usd">986000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzMtMS0xLTEtMA_281f482a-6b15-4efb-a228-bc4a9e02ecb6"
      unitRef="usd">757470000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzMtMy0xLTEtMA_34b909a0-e688-4d28-87cb-2a4a7b950dad"
      unitRef="usd">662990000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzQtMS0xLTEtMA_5e27846d-603e-40e9-b3da-68c42a032703"
      unitRef="usd">10000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzQtMy0xLTEtMA_1550273c-ccd6-4174-aa7f-8df53c93d3a6"
      unitRef="usd">50000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzUtMS0xLTEtMA_81a4f807-6215-4cc2-8a1c-9e8ec09ddcbb"
      unitRef="usd">-607852000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzUtMy0xLTEtMA_6024936d-b0b8-4db0-8261-ac747f9bd956"
      unitRef="usd">-565121000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzYtMS0xLTEtMA_6b4ff1bc-ddef-4c03-8979-151469fbb5b1"
      unitRef="usd">150665000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzYtMy0xLTEtMA_c5499e3f-32d6-4e79-9444-3e8b837cc16f"
      unitRef="usd">98905000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzctMS0xLTEtMA_3adb65c8-7ee0-4254-9639-9f09151b9662"
      unitRef="usd">690589000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl83Ni9mcmFnOjgyYjIyODc3MzRmYTRkM2VhZDNkZDlhNGFmNmI5NjUyL3RhYmxlOjQ1ZjAxNGRkMmQzMTRiMDhhZjlmMWNkMzFlMmM2ZmJmL3RhYmxlcmFuZ2U6NDVmMDE0ZGQyZDMxNGIwOGFmOWYxY2QzMWUyYzZmYmZfMzctMy0xLTEtMA_967eb0c6-d06a-40ed-b02f-6221a92f42bc"
      unitRef="usd">558612000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMi0xLTEtMS0w_331bf83a-96bc-4fe4-8526-531a5b4848ff"
      unitRef="usd">440221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMi0zLTEtMS0w_41e3f9ec-9424-41ff-bd26-e2622eb10a61"
      unitRef="usd">354586000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMi01LTEtMS0w_763176a0-28f9-4efa-9d3e-26bcf6322dca"
      unitRef="usd">267360000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMy0xLTEtMS0w_979b59fc-af30-45aa-94de-ce1d7c6f5236"
      unitRef="usd">77554000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMy0zLTEtMS0w_43348e12-d5ad-4306-a7df-cc9b62e326bf"
      unitRef="usd">60818000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMy01LTEtMS0w_cb58ff20-8d9d-4550-99f0-0c08314ea29e"
      unitRef="usd">43167000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNC0xLTEtMS0w_5f06e445-d874-40b0-b075-bcaea7a19d33"
      unitRef="usd">362667000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNC0zLTEtMS0w_dfaae116-bd55-4184-adb6-ef589f621ed1"
      unitRef="usd">293768000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNC01LTEtMS0w_b1de3da8-3162-472b-8d8d-b726632f90f5"
      unitRef="usd">224193000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNi0xLTEtMS0w_c4304988-e394-40f3-ba8f-bf981563d488"
      unitRef="usd">224277000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNi0zLTEtMS0w_d9de625c-32a3-4303-a0cb-59ee07e3189d"
      unitRef="usd">228035000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNi01LTEtMS0w_8fca8d76-fa5b-4420-b7db-a7265a16334a"
      unitRef="usd">173344000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNy0xLTEtMS0w_114da2d2-b13d-4d0b-8312-f9fcec68aba2"
      unitRef="usd">101687000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNy0zLTEtMS0w_847afa58-42b6-4c72-b072-b7f73c62773b"
      unitRef="usd">87064000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfNy01LTEtMS0w_99a5292a-7206-42fd-bf3b-c011196d4e3b"
      unitRef="usd">76698000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfOC0xLTEtMS0w_7de78456-1e76-4b7a-a5c6-5ff9b534e915"
      unitRef="usd">73136000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfOC0zLTEtMS0w_7902bd56-f7bd-43fd-9ebc-3ee34d6cddbb"
      unitRef="usd">69468000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfOC01LTEtMS0w_f0131482-6af0-439d-b89e-224f19a2b3e8"
      unitRef="usd">46732000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfOS0xLTEtMS0w_e7cfd859-13a6-4681-922d-d4d23bd63ab6"
      unitRef="usd">399100000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfOS0zLTEtMS0w_1e698f1e-6fe8-4be6-977e-c56c99449e4f"
      unitRef="usd">384567000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfOS01LTEtMS0w_82e01900-a78b-430d-b860-391e974b7dc0"
      unitRef="usd">296774000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTAtMS0xLTEtMA_0dfb79fe-3850-4b94-b6fc-5e4c82e42828"
      unitRef="usd">-36433000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTAtMy0xLTEtMA_b90561d5-97d6-484c-9e5a-30b12c8ea992"
      unitRef="usd">-90799000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTAtNS0xLTEtMA_afb3ee58-2df0-4c50-9592-0aeb0da38786"
      unitRef="usd">-72581000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTEtMS0xLTEtMA_a8585f0e-ca62-4766-acdc-f6e6ba37fee5"
      unitRef="usd">1244000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTEtMy0xLTEtMA_7616758b-3d34-4cff-9887-188f8d849edd"
      unitRef="usd">5830000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTEtNS0xLTEtMA_a5eaecdd-9d90-4523-afd7-ab9d7fe7aead"
      unitRef="usd">2355000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTItMS0xLTEtMA_10502e48-82ff-46de-9813-a0ed0e6584c1"
      unitRef="usd">-1885000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTItMy0xLTEtMA_cbed92d3-6eb4-4b16-a176-cc4b8d6d7e77"
      unitRef="usd">-680000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTItNS0xLTEtMA_39058605-83ae-4ac5-972d-f649f9ff06c9"
      unitRef="usd">-931000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTMtMS0xLTEtMA_61036868-816a-4af9-bb98-81b1c2fa4507"
      unitRef="usd">-37074000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTMtMy0xLTEtMA_29ed4734-f8f2-4645-b665-aeacc7ace4ea"
      unitRef="usd">-85649000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTMtNS0xLTEtMA_547de5e1-7532-4284-9fb7-1f5a7a164aa1"
      unitRef="usd">-71157000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTQtMS0xLTEtMA_ffe7dd63-11fb-4130-9d6f-0f4f6a001f8a"
      unitRef="usd">5657000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTQtMy0xLTEtMA_77b9f590-b7e6-45c3-ab42-40674c3d847a"
      unitRef="usd">13364000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTQtNS0xLTEtMA_ae48faa8-de13-459e-8a7d-61ee32b691a8"
      unitRef="usd">2364000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTUtMS0xLTEtMA_a3c64e6e-1978-47af-a96c-aac1df7a46b2"
      unitRef="usd">-42731000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTUtMy0xLTEtMA_190a4980-46f1-4432-8717-ebe9efe7cccc"
      unitRef="usd">-99013000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTUtNS0xLTEtMA_16e2a2c8-68ff-47bb-a3ac-66061e4bfa08"
      unitRef="usd">-73521000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTYtMS0xLTEtMA_ecc208ee-1509-48d2-be0d-502d9b61a27f"
      unitRef="usd">0</us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment>
    <us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTYtMy0xLTEtMA_965a8f45-d279-4a06-bee9-9309661b5d3f"
      unitRef="usd">0</us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment>
    <us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTYtNS0xLTEtMA_7af1d88f-5498-400a-a781-84bd195ead6d"
      unitRef="usd">434000</us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTctMS0xLTEtMA_04937780-8e22-4c65-be00-791467dd8451"
      unitRef="usd">-42731000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTctMy0xLTEtMA_3078152d-fa65-410e-b58b-95996b5d91c6"
      unitRef="usd">-99013000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTctNS0xLTEtMA_c4c21eea-1350-463b-abc5-bc5170afd158"
      unitRef="usd">-73955000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTktMS0xLTEtMA_04debd53-2e8f-462b-8d6d-db94c990a5bf"
      unitRef="usdPerShare">-0.42</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTktMy0xLTEtMA_a2a7975a-f416-4c57-ab1f-c8f2d9afb9e8"
      unitRef="usdPerShare">-1.03</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMTktNS0xLTEtMA_be4a822e-eeca-413e-9f4f-86d6c0ce7951"
      unitRef="usdPerShare">-1.38</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMjAtMS0xLTEtMA_a468afbd-f825-4a7c-99fa-87a529751c5f"
      unitRef="shares">101009000</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMjAtMy0xLTEtMA_5496d935-2cfb-45e7-ac5a-37d77859ab04"
      unitRef="shares">96014000</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84Mi9mcmFnOmVjYmJiYjJlZjA4MTRhYTQ4YzVjOTI1MmRjMzRlNDVmL3RhYmxlOmYxN2Y1Y2U1Y2Q0OTRlZTc4OTBmYzY0MDlmZDdiN2M1L3RhYmxlcmFuZ2U6ZjE3ZjVjZTVjZDQ5NGVlNzg5MGZjNjQwOWZkN2I3YzVfMjAtNS0xLTEtMA_f8f0bc6e-67b4-4d49-b2fe-ef8dc45f85e0"
      unitRef="shares">53669000</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:NetIncomeLoss
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfMi0xLTEtMS0w_a98efb07-6ab8-4e51-bf13-5b1da19ba03b"
      unitRef="usd">-42731000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfMi0zLTEtMS0w_6223bdd5-3268-4274-8812-72b7c3216f3a"
      unitRef="usd">-99013000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfMi01LTEtMS0w_331961bd-fd0a-4841-95e0-75739abcf0fd"
      unitRef="usd">-73521000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNC0xLTEtMS0w_257707d3-7d25-4649-8231-ecfd2cab28aa"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNC0zLTEtMS0w_73f7fd03-3de6-49c6-b953-f34ebee1049e"
      unitRef="usd">50000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNC01LTEtMS0w_51d02a3f-4476-45fb-b36a-f507ec99dcd3"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNS0xLTEtMS0w_44d6aebe-e1a3-4699-8a0a-b90fb4a70d63"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNS0zLTEtMS0w_fae64741-70ea-487c-8ae5-c967bc172672"
      unitRef="usd">50000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNS01LTEtMS0w_7a57c9b6-42f7-400b-9c0b-3e64f8c8f73d"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNi0xLTEtMS0w_f4f12b01-85ac-4200-8f52-58ae195a02be"
      unitRef="usd">-42771000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNi0zLTEtMS0w_78b1b4ec-edc0-4bf6-ad90-ee512d600789"
      unitRef="usd">-98963000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84NS9mcmFnOjI3NWM1MWQwZDZlYjQ5ZTFiOTU5NmY0NzAxYTFjZjYxL3RhYmxlOjcyODkwYjRhNTg5MDRhMzBhMWQyMGQxYjQyYTA2MDVmL3RhYmxlcmFuZ2U6NzI4OTBiNGE1ODkwNGEzMGExZDIwZDFiNDJhMDYwNWZfNi01LTEtMS0w_94f16255-8bb8-4073-9fc4-0765913708b9"
      unitRef="usd">-73521000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i537c9b10abec4597aa5185458ddca853_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0xLTEtMS0w_9b2535a5-75dd-4af2-ae1e-494a98466ec0"
      unitRef="shares">15848000</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i537c9b10abec4597aa5185458ddca853_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0zLTEtMS0w_69000885-c0d4-4d6d-bbef-7d356d480f24"
      unitRef="usd">49935000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i20fafbcf7b1d47389f760da82115d2cf_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC01LTEtMS0w_5bf2e192-87bd-41d2-975a-0b584462a35d"
      unitRef="shares">39538000</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i20fafbcf7b1d47389f760da82115d2cf_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC03LTEtMS0w_d5d8e3ef-f56c-4a7e-af4e-03a501b60938"
      unitRef="usd">227800000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i30c1e732f2fa43aa9af5ee18cd4c657c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0xMC0xLTEtMA_ee239c1b-4c85-4aad-85ec-8d24585e4a4e"
      unitRef="shares">24472000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i30c1e732f2fa43aa9af5ee18cd4c657c_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0xMi0xLTEtMA_ef30fdf2-c722-4bad-86a3-b4ea0df7d1aa"
      unitRef="usd">246000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4d91cbe0a7134eac9c0d8a7913cdefb4_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0xNC0xLTEtMA_bffb62fe-ea09-4116-845a-aa99631f50ab"
      unitRef="usd">20676000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4c3e18107fdb47b6872177f7b36d3ecc_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0xNi0xLTEtMA_b3d07a3b-4e7a-4fe2-bb6b-fb18bb482321"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i075f42e80ea5404786cab77279ca75b8_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0xOC0xLTEtMA_1924b7f4-3e0a-4bff-8295-f310a6326e2d"
      unitRef="usd">-392587000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNC0yMC0xLTEtMA_8617a258-5a3a-4ad0-9b19-5f5e02ea0e43"
      unitRef="usd">-371665000</us-gaap:StockholdersEquity>
    <us-gaap:TemporaryEquityAccretionToRedemptionValue
      contextRef="i4f1e8ad2e0ad4290b459ef0e592db142_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNi0zLTEtMS0w_e88209b3-9d0b-4815-8445-e3915fc7567d"
      unitRef="usd">13000</us-gaap:TemporaryEquityAccretionToRedemptionValue>
    <us-gaap:TemporaryEquityAccretionToRedemptionValue
      contextRef="i3f7bcce241ae424283035b3957ad702b_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNi03LTEtMS0w_aefd3b88-f00f-4292-b971-81924cbf36c0"
      unitRef="usd">421000</us-gaap:TemporaryEquityAccretionToRedemptionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalIncreaseInCarryingAmountOfRedeemablePreferredStock
      contextRef="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNi0xNC0xLTEtMA_4da449c5-5546-4891-8acb-6553abd5eee7"
      unitRef="usd">434000</us-gaap:AdjustmentsToAdditionalPaidInCapitalIncreaseInCarryingAmountOfRedeemablePreferredStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalIncreaseInCarryingAmountOfRedeemablePreferredStock
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfNi0yMC0xLTEtMA_e9bc3a56-5340-4849-bd91-3a5cd59149d6"
      unitRef="usd">434000</us-gaap:AdjustmentsToAdditionalPaidInCapitalIncreaseInCarryingAmountOfRedeemablePreferredStock>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOC0xMC0xLTEtMA_65931bc4-8904-4959-b8d3-43d248ba1740"
      unitRef="shares">740000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOC0xMi0xLTEtMA_1dd288f4-3673-4260-8814-8e9392107620"
      unitRef="usd">7000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOC0xNC0xLTEtMA_95f31442-b54c-4e6c-92fc-76a9ebd7ff47"
      unitRef="usd">1661000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOC0yMC0xLTEtMA_3c0344f1-16ef-440b-8e2a-c76231d9caeb"
      unitRef="usd">1668000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0xMC0xLTEtMA_ba1d8907-c889-42f0-9d9f-8fa2705400f5"
      unitRef="shares">7000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0xMi0xLTEtMA_f5a7a3e4-baa9-46bd-b724-839712b3420f"
      unitRef="usd">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0xNC0xLTEtMA_0bd8b46a-cca1-4727-a7ba-3792370babaf"
      unitRef="usd">74000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0yMC0xLTEtMA_e49f575b-ffb9-4707-9523-c6760cf4cba5"
      unitRef="usd">75000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMTQtMS0xLTA_5e332c2e-3e2f-4949-943b-8c6c4eeada4e"
      unitRef="usd">23022000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMjAtMS0xLTA_e3e14eb1-27e2-4f4c-9093-a39c9342b200"
      unitRef="usd">23022000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0xMC0xLTEtNTY1_95f16a0c-e05e-4171-a36d-a99e7550e6c9"
      unitRef="shares">12535000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0xMi0xLTEtNTY1_9a835a24-a3ad-4413-9f74-a9426a2efb71"
      unitRef="usd">125000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0xNC0xLTEtNTY1_3423a6fc-c954-4757-94df-6a4f35de9ae1"
      unitRef="usd">264474000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfOS0yMC0xLTEtMjEwNw_e1a5ff02-0b85-4e54-b182-55a12ac86528"
      unitRef="usd">264599000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <tenb:TemporaryEquitySharesConversion
      contextRef="i4f1e8ad2e0ad4290b459ef0e592db142_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMS0xLTEtNTY1_334ae769-f076-4b32-b93c-bf2beeefb4e2"
      unitRef="shares">15848000</tenb:TemporaryEquitySharesConversion>
    <tenb:TemporaryEquityValueConversion
      contextRef="i4f1e8ad2e0ad4290b459ef0e592db142_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMy0xLTEtNTY1_4bf7edbb-2640-4f00-a557-6a8334abddfb"
      unitRef="usd">49948000</tenb:TemporaryEquityValueConversion>
    <tenb:TemporaryEquitySharesConversion
      contextRef="i3f7bcce241ae424283035b3957ad702b_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtNS0xLTEtNTY1_549503fc-bc9d-4e17-b57b-182274e04450"
      unitRef="shares">39538000</tenb:TemporaryEquitySharesConversion>
    <tenb:TemporaryEquityValueConversion
      contextRef="i3f7bcce241ae424283035b3957ad702b_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtNy0xLTEtNTY1_1a2444f0-681b-4f19-a286-147e9079c8a1"
      unitRef="usd">228221000</tenb:TemporaryEquityValueConversion>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMTAtMS0xLTU2NQ_622b9aa4-0e9f-4fcb-8fe4-e9fd08401bf9"
      unitRef="shares">55386000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="ia40db0f022274e709195b8453ef98ef8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMTItMS0xLTU2NQ_1077ad1a-0287-4513-9a29-23b1c72d43be"
      unitRef="usd">554000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i6722e031e3bd46428879fbb734a5161a_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMTQtMS0xLTU2NQ_b5c7343f-91ad-4cd2-8232-3b74c878c471"
      unitRef="usd">277615000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTAtMjAtMS0xLTIxMDk_dfe8ecd6-7f1e-42fb-92e7-5fb25adca604"
      unitRef="usd">278169000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:NetIncomeLoss
      contextRef="i50af9819d08142b1b8ed9c8c129e424f_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTEtMTgtMS0xLTA_184e0d51-766d-43a8-b5eb-c091c7f33a58"
      unitRef="usd">-73521000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTEtMjAtMS0xLTA_aa2eef32-a6a3-4dd9-ac62-8b9160653fc5"
      unitRef="usd">-73521000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i05d6b60de4cb4550ae699f13cf50c3c2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMS0xLTEtMA_df4c06ca-2cce-4ce0-8840-977ff6677a10"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i05d6b60de4cb4550ae699f13cf50c3c2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMy0xLTEtMA_6c57add4-5ef8-4d2e-ad20-eb2221524f46"
      unitRef="usd">0</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i3757423740ee4b47968c68ae4fd4b749_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItNS0xLTEtMA_a4e06ea2-0f81-42dc-a46a-2592661ed044"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i3757423740ee4b47968c68ae4fd4b749_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItNy0xLTEtMA_386e8c47-0b9a-413f-8c55-8b2f91063054"
      unitRef="usd">0</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id6b28ad3b3c3462fafeae45a0fb4bb60_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMTAtMS0xLTA_8604f370-09ef-4287-9570-b164f8289251"
      unitRef="shares">93126000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id6b28ad3b3c3462fafeae45a0fb4bb60_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMTItMS0xLTA_df76f61a-fa2e-4543-8a0b-1f046bc46d92"
      unitRef="usd">931000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5893ff2c5c724c1bb3e4f8339e31ba39_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMTQtMS0xLTA_266083aa-7826-417d-bf75-483d55233dc5"
      unitRef="usd">586940000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8f6018225772460b954723fcb2b8c1c0_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMTYtMS0xLTA_fb47aa7c-6670-4940-859b-067c5af672d6"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i293ffb298d23492e809b8415bec29cae_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMTgtMS0xLTA_705c1392-1344-4772-92fb-04983002e360"
      unitRef="usd">-466108000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTItMjAtMS0xLTA_f16286a2-303f-488c-95b0-218d63d9c50e"
      unitRef="usd">121763000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i572d863cc4c5433da11942974d854b1e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTQtMTAtMS0xLTA_01626cef-71f4-4d35-9213-7890578490f8"
      unitRef="shares">4205000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i572d863cc4c5433da11942974d854b1e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTQtMTItMS0xLTA_36cd589c-063f-488d-8d5c-3f9438092086"
      unitRef="usd">42000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i5f0acdf1ea9b4161a1c3a161b0145545_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTQtMTQtMS0xLTA_fe1402ee-3297-4544-832c-3f1da65608ad"
      unitRef="usd">19006000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTQtMjAtMS0xLTA_ddc94350-1c1c-4f89-8cdc-f0689549dab1"
      unitRef="usd">19048000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit
      contextRef="i572d863cc4c5433da11942974d854b1e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTUtMTAtMS0xLTA_83d4316b-437d-448b-9c48-2cb054ab7374"
      unitRef="shares">479000</tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i572d863cc4c5433da11942974d854b1e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTUtMTItMS0xLTA_ff3d2df7-589d-457c-aebe-3f60317ab461"
      unitRef="usd">5000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i5f0acdf1ea9b4161a1c3a161b0145545_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTUtMTQtMS0xLTA_c64e938d-f786-4d51-b435-b7404c2deb96"
      unitRef="usd">-5000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTUtMjAtMS0xLTA_d6004cfa-2323-48dd-95a9-26643d0f66fe"
      unitRef="usd">0</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i572d863cc4c5433da11942974d854b1e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTYtMTAtMS0xLTA_1b6a7e07-d8b5-417e-bc56-92a5a6ecdff7"
      unitRef="shares">777000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i572d863cc4c5433da11942974d854b1e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTYtMTItMS0xLTA_953c2995-139d-473a-bda3-021deda10ea0"
      unitRef="usd">8000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i5f0acdf1ea9b4161a1c3a161b0145545_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTYtMTQtMS0xLTA_8b2c0cfe-9bc1-4e5c-997a-7edb53266036"
      unitRef="usd">15121000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTYtMjAtMS0xLTA_78fb9be0-98c5-4f6e-8baa-154bd4cc58a0"
      unitRef="usd">15129000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i5f0acdf1ea9b4161a1c3a161b0145545_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTctMTQtMS0xLTA_cef6dedc-eeb1-4393-a367-3931ce0e3bda"
      unitRef="usd">41928000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTctMjAtMS0xLTA_a1fa5710-bc67-4f64-952e-ba60e8a512bb"
      unitRef="usd">41928000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="if4032ac506a643cb9f7b078d29b9d268_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTgtMTYtMS0xLTA_942fc90f-5927-47ba-85f7-9bbb188fc069"
      unitRef="usd">50000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTgtMjAtMS0xLTA_202b9ac2-8a84-4cc5-966d-84d7f78cdf5b"
      unitRef="usd">50000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="id8b43675b9644e9ebe4a355e8f2294ae_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTktMTgtMS0xLTA_9bb31480-fff6-4529-8dbb-73a9b06834e4"
      unitRef="usd">-99013000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMTktMjAtMS0xLTA_01ee64e4-b356-41ce-bccc-a6f9cd3caaef"
      unitRef="usd">-99013000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id0c1fcfc9c10449a8a6cf2068319f8b3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjAtMTAtMS0xLTA_1ae7d4fe-c3ee-4ed3-8f66-11e0edf07447"
      unitRef="shares">98587000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id0c1fcfc9c10449a8a6cf2068319f8b3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjAtMTItMS0xLTA_e639bd0c-cedb-4aef-be3c-533bc3aba647"
      unitRef="usd">986000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibbfaf2fa11e94b28bb4f550851cc1ab9_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjAtMTQtMS0xLTA_eeec519a-b5c2-4ebf-aa11-f762d1b2c6f7"
      unitRef="usd">662990000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idf53c022d598476aac7d36433c646ccc_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjAtMTYtMS0xLTA_bbab3af3-3c5b-4a78-abaf-222ccc6a80c1"
      unitRef="usd">50000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaf37394a97df41168e9395a6687e102a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjAtMTgtMS0xLTA_bdf2a15b-1f3a-4b58-8cab-c5822eb682ff"
      unitRef="usd">-565121000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjAtMjAtMS0xLTA_da15abc6-5945-4183-b089-2067ea9bdaa9"
      unitRef="usd">98905000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i077512b60c154951814e05152d405b36_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjEtMTAtMS0xLTA_3ab1b073-c9b2-4088-804e-eb4c3364ab8f"
      unitRef="shares">2956000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i077512b60c154951814e05152d405b36_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjEtMTItMS0xLTA_4896e157-5a45-4e44-805d-ced5181a30f8"
      unitRef="usd">29000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iab2068f6b03c4c91a81ab669063b9a3c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjEtMTQtMS0xLTA_608d7de5-09e0-4978-8076-7cc43fefe24f"
      unitRef="usd">21680000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjEtMjAtMS0xLTA_7901eaa9-52d6-49d1-9a13-52e554f44016"
      unitRef="usd">21709000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit
      contextRef="i077512b60c154951814e05152d405b36_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjItMTAtMS0xLTA_4446c97e-d033-4d3c-8b0f-53e5f49060ea"
      unitRef="shares">1504000</tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i077512b60c154951814e05152d405b36_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjItMTItMS0xLTA_7723df88-5263-427b-b5d4-e1d212b2faf6"
      unitRef="usd">15000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="iab2068f6b03c4c91a81ab669063b9a3c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjItMTQtMS0xLTA_d1f99975-c3b7-4891-a4be-aee17cfff25e"
      unitRef="usd">-15000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjItMjAtMS0xLTA_c7fe35fb-267b-4a10-8757-ddb55c683cc6"
      unitRef="usd">0</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i077512b60c154951814e05152d405b36_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjMtMTAtMS0xLTA_d0101a60-4814-4983-8d39-f453fd21b3e8"
      unitRef="shares">668000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i077512b60c154951814e05152d405b36_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjMtMTItMS0xLTA_a4bb467f-8854-475d-9907-57c03e71749b"
      unitRef="usd">7000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="iab2068f6b03c4c91a81ab669063b9a3c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjMtMTQtMS0xLTA_a12e6314-75a3-4651-8b2b-9e62b9cca22f"
      unitRef="usd">13033000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjMtMjAtMS0xLTA_953787eb-2182-43a1-adfe-5638624250ba"
      unitRef="usd">13040000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iab2068f6b03c4c91a81ab669063b9a3c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjQtMTQtMS0xLTA_d78bd7bb-ebab-41fe-8de2-d2efd2dc11fa"
      unitRef="usd">59782000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjQtMjAtMS0xLTA_254c8ec6-b659-486a-b3bf-7e8a0b31124d"
      unitRef="usd">59782000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="if8f4992650a243aea39a1a7f30df7ccf_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjUtMTYtMS0xLTA_eaae2f97-a239-4615-8de6-6cb43d90683b"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjUtMjAtMS0xLTA_54523e9e-9265-469e-a441-9c201db7da14"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i4c53f094e94b4c5f9a7e580d4e47713e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjYtMTgtMS0xLTA_f40a8f7c-0876-4501-bbbd-ad848d45616e"
      unitRef="usd">-42731000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjYtMjAtMS0xLTA_b1b48fba-a3e6-4571-a184-82adbefaa956"
      unitRef="usd">-42731000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i9d87e5e3864049cdaa189676b0d7efb2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjctMTAtMS0xLTA_cc771847-4995-4fa4-a543-77c8a17809e9"
      unitRef="shares">103715000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i9d87e5e3864049cdaa189676b0d7efb2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjctMTItMS0xLTA_a0cfd4ab-c406-4151-8454-3b86058b375d"
      unitRef="usd">1037000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5c8ffac6a56f4c8f9a7b731bdbff0c61_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjctMTQtMS0xLTA_82a42d1f-139a-4fa1-8035-1fd774fa0ed0"
      unitRef="usd">757470000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i52380df071464037b0ebe2e2a6289258_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjctMTYtMS0xLTA_68d9fb4a-c8a3-4fdb-b748-39a0cb58e464"
      unitRef="usd">10000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if60a80b117944d318de63cd57cbf3623_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjctMTgtMS0xLTA_1e9aca19-f39c-4176-9a87-6a85713309ff"
      unitRef="usd">-607852000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl84OC9mcmFnOjA2MTdhMGQzM2ZmZjQyOGQ4ZGQyMTk0ZDBjNTE0MDJmL3RhYmxlOmNjZmE4NjJiNjE2MjQ2MDZhNDAxNGQ1MmM3MjUyMzMwL3RhYmxlcmFuZ2U6Y2NmYTg2MmI2MTYyNDYwNmE0MDE0ZDUyYzcyNTIzMzBfMjctMjAtMS0xLTA_e358e2dd-ceae-4f3d-ae42-a376d8e768b9"
      unitRef="usd">150665000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMy0xLTEtMS0w_d26937f3-03c3-4ee4-b1dd-75e78e01aab0"
      unitRef="usd">-42731000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMy0zLTEtMS0w_fe1fb83a-f23d-432b-97e0-ec8076dd0d96"
      unitRef="usd">-99013000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMy01LTEtMS0w_d657e223-6c3b-4343-a91f-5345d42aaf3a"
      unitRef="usd">-73521000</us-gaap:NetIncomeLoss>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNS0xLTEtMS0w_12362bfb-0c42-4f96-8007-1dd02d9715d0"
      unitRef="usd">161000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNS0zLTEtMS0w_a612866a-76c0-4c7e-96f2-85fdc206a9ff"
      unitRef="usd">4243000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNS01LTEtMS0w_b3dec517-1fbb-4962-a5b0-558a9e5e7f54"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNi0xLTEtMS0w_3eacdfcf-4a68-44c2-b092-4e67ffdc2e67"
      unitRef="usd">10633000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNi0zLTEtMS0w_913db4fc-7de7-4a5b-9581-e7c88af9bdc3"
      unitRef="usd">6880000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNi01LTEtMS0w_9dabe93d-44ce-4845-aa03-f30e55bcdefe"
      unitRef="usd">6192000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNy0xLTEtMS0w_e62e264e-8d51-4eeb-ae2f-1dbb02800619"
      unitRef="usd">59573000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNy0zLTEtMS0w_f6411efd-79b6-43a7-bbff-1d1b13412972"
      unitRef="usd">41610000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNy01LTEtMS0w_c551f2f9-59b3-420b-9284-42a11580093b"
      unitRef="usd">22875000</us-gaap:ShareBasedCompensation>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfOC0xLTEtMS0w_8b74001e-c7e6-4990-93cb-9fb502c61de3"
      unitRef="usd">-1071000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfOC0zLTEtMS0w_0d1acf85-5c94-4920-b60c-90146e138680"
      unitRef="usd">784000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfOC01LTEtMS0w_5c9a4d2b-37a1-49e7-b759-a6f6e0801941"
      unitRef="usd">-533000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTAtMS0xLTEtMA_60b3d16a-3886-4d59-a023-92a56a3f84c3"
      unitRef="usd">20012000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTAtMy0xLTEtMA_f539fbd4-6897-433e-8312-bc93c3e2aeae"
      unitRef="usd">25941000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTAtNS0xLTEtMA_75bc6f9c-9452-4faa-9c77-99c98ccb24f0"
      unitRef="usd">17408000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTEtMS0xLTEtMA_a9475ca5-c77a-4445-b00e-3b10db31befd"
      unitRef="usd">19372000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTEtMy0xLTEtMA_532aefd3-3c52-49ea-bee6-f606ad175f54"
      unitRef="usd">16954000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTEtNS0xLTEtMA_f25c558a-68e9-42fd-8047-5b8f3b2c09a3"
      unitRef="usd">15231000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTQtMS0xLTEtMA_65bb5404-1236-472a-a84e-1fed6c310add"
      unitRef="usd">-5282000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTQtMy0xLTEtMA_79b92c59-114b-4f3e-9843-ccfbcab158f6"
      unitRef="usd">10513000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTQtNS0xLTEtMA_1246975d-4ac7-47f4-8e23-3d0007ad4091"
      unitRef="usd">11406000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTYtMS0xLTEtMA_7a2bdf15-c922-4072-9ad7-4f1f9c59c44e"
      unitRef="usd">71383000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTYtMy0xLTEtMA_896a8ee3-4da2-4f19-8a06-0cf80256ed26"
      unitRef="usd">72799000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTYtNS0xLTEtMA_31553319-ffe9-4eb3-91d6-e4f8c2788cfa"
      unitRef="usd">64085000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTctMS0xLTEtMA_2d91c1f2-f33b-45d8-b7a2-a2a7b4b9d2b6"
      unitRef="usd">8808000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTctMy0xLTEtMA_4fc78d42-f9d5-48f7-aff4-46a8251077c9"
      unitRef="usd">-4097000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTctNS0xLTEtMA_bdbe6a08-e31a-4c04-ac17-bff55ba53035"
      unitRef="usd">-1490000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTktMS0xLTEtMA_caaa186b-c967-499c-9a34-f0e4b2f1a836"
      unitRef="usd">64232000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTktMy0xLTEtMA_fdb65f6f-2a04-48c5-9523-24b7ff8a7a3e"
      unitRef="usd">-10744000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMTktNS0xLTEtMA_0730a900-7d5a-4da9-a73b-8d69aa60336f"
      unitRef="usd">-2559000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjItMS0xLTEtMA_9695b131-b971-4ba1-bb7b-5b7c10064e9e"
      unitRef="usd">20277000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjItMy0xLTEtMA_d2402f14-e4e9-486a-b38f-941d120081c7"
      unitRef="usd">20674000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjItNS0xLTEtMA_6609d59b-3e04-4f94-bca7-6234086563c6"
      unitRef="usd">5733000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjMtMS0xLTEtMA_89209456-ed98-405a-9d0e-d800b0c36f69"
      unitRef="usd">184516000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjMtMy0xLTEtMA_3eb04af9-ba2d-45a7-8c85-493339d4dc15"
      unitRef="usd">242059000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjMtNS0xLTEtMA_308351c9-eb46-4f11-bedd-268db574e045"
      unitRef="usd">117488000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjQtMS0xLTEtMA_890d290e-b0bc-4308-a89f-980abe318217"
      unitRef="usd">209148000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjQtMy0xLTEtMA_6e820397-cae9-4d29-8097-78a0b60ccfdb"
      unitRef="usd">224594000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjQtNS0xLTEtMA_b33dbad3-aba7-4f75-a642-5feab8479613"
      unitRef="usd">0</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjUtMS0xLTEtMA_d9c8fd5f-272a-42ff-b433-25797c9f7663"
      unitRef="usd">276000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjUtMy0xLTEtMA_473f5e65-aaaf-4f42-a183-3ddb1488851b"
      unitRef="usd">74911000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjUtNS0xLTEtMA_13846eac-89b9-4930-ad16-8feb9a2ba39b"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjYtMS0xLTEtMA_e4d8aa6e-46fd-45bc-aa95-d0e580404f15"
      unitRef="usd">4079000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjYtMy0xLTEtMA_663fb0df-7588-4ef2-821a-52451518aa59"
      unitRef="usd">-113050000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjYtNS0xLTEtMA_6c6d635e-f83f-4a5a-acbb-c9dfb7c7d18f"
      unitRef="usd">-123221000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <tenb:FinancingActivitiesProceedsFromLoans
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjktMS0xLTEtMA_ef1eacaf-fd77-4afa-bed7-f9a581410ced"
      unitRef="usd">2000000</tenb:FinancingActivitiesProceedsFromLoans>
    <tenb:FinancingActivitiesProceedsFromLoans
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjktMy0xLTEtMA_c55cea6f-f799-4938-a48a-0b5bed57445d"
      unitRef="usd">0</tenb:FinancingActivitiesProceedsFromLoans>
    <tenb:FinancingActivitiesProceedsFromLoans
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMjktNS0xLTEtMA_88da30c1-301a-485b-90c5-30dcc1fb74f2"
      unitRef="usd">0</tenb:FinancingActivitiesProceedsFromLoans>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzMtMS0xLTEtMA_1bd3c68e-0608-4f66-a420-31393ff864a9"
      unitRef="usd">13040000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzMtMy0xLTEtMA_3c161fb9-b31f-417b-932f-9f39651b0f3d"
      unitRef="usd">15129000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzMtNS0xLTEtMA_6089587c-661d-4fef-a86b-844ad0b1521d"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzQtMS0xLTEtMA_36ef477f-67d2-4cd4-8e15-e84b00ce2176"
      unitRef="usd">21709000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzQtMy0xLTEtMA_7b0cb7ae-51fc-4580-b52b-3924e0f6430b"
      unitRef="usd">19048000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzQtNS0xLTEtMA_2cafc8c5-7a7e-4ff6-83c5-20f08736d9c1"
      unitRef="usd">1668000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzUtMS0xLTEtMA_2fbeb304-a3d9-406d-89e4-c76ca111505f"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzUtMy0xLTEtMA_71c0cdfd-c2b0-4f9c-8265-091ed06b39ba"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzUtNS0xLTEtMA_8598fa5b-2237-45d1-aea2-6cbb43844150"
      unitRef="usd">75000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzUtMS0xLTEtMTA3OQ_06c25e7d-83c8-407f-9bbe-7cd05e00e5ca"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzUtMy0xLTEtMTA3OQ_e28453ff-28d9-40b6-b69f-20cf18629c19"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzUtNS0xLTEtMTA3OQ_b8cfa485-5e0a-4906-a84b-caf23d5f32c6"
      unitRef="usd">268531000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzYtMS0xLTEtMTA3OQ_ccc1cdb0-7e85-4bfa-b41e-6013e3eb99ac"
      unitRef="usd">0</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzYtMy0xLTEtMTA3OQ_dfd798e5-c8f2-496a-87e5-68a2f1e33b9c"
      unitRef="usd">0</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzYtNS0xLTEtMTA3OQ_5f3b8da8-fa0d-4b61-985b-58f48edfdec9"
      unitRef="usd">3932000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzItMS0xLTEtMjM2Nw_7bd035b7-40f9-44e1-a286-02c86ca0b4f9"
      unitRef="usd">-346000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzItMy0xLTEtMjM2Nw_f5cb8eef-353a-483d-9042-8e526ee00efa"
      unitRef="usd">-16000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzItNS0xLTEtMjM2Nw_46f4a77e-3477-4277-811a-088c063a40ac"
      unitRef="usd">-1443000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzYtMS0xLTEtMA_c4288978-480d-4262-9c10-cec81acdb1e8"
      unitRef="usd">36403000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzYtMy0xLTEtMA_cf8c0e41-6ada-4817-8933-2fa56631cc80"
      unitRef="usd">34161000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzYtNS0xLTEtMA_7ef44f49-55b7-4116-ae54-1154364bd84c"
      unitRef="usd">264749000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzctMS0xLTEtMA_95910363-bca5-41de-a2a2-1040c5c30449"
      unitRef="usd">-916000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzctMy0xLTEtMA_323d2067-6103-4dce-8f85-0d386c9131bf"
      unitRef="usd">-1080000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzctNS0xLTEtMA_3a03eea6-9fc6-492c-ae16-7b77d1c5937e"
      unitRef="usd">-1063000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzgtMS0xLTEtMA_3753f567-e29b-4af8-b628-ca13c5873afa"
      unitRef="usd">103798000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzgtMy0xLTEtMA_503cd228-c008-4c9f-a79b-f536931da6fe"
      unitRef="usd">-90713000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzgtNS0xLTEtMA_41f98e71-32ac-4b9f-907e-19bc04e8009a"
      unitRef="usd">137906000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzktMS0xLTEtMA_1692808e-34e3-471b-a0f9-d60c047fa09f"
      unitRef="usd">74665000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzktMy0xLTEtMA_6bbbbcf8-77b9-4a39-bca9-ebd3e8f647cb"
      unitRef="usd">165378000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfMzktNS0xLTEtMA_6daaf36c-27db-401b-9297-40062489fcae"
      unitRef="usd">27472000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDAtMS0xLTEtMA_bf0b1bee-f082-4950-b1c5-6427b502b9c1"
      unitRef="usd">178463000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDAtMy0xLTEtMA_cdd0a7a9-d095-4d98-b10f-1800f9d8e3ba"
      unitRef="usd">74665000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDAtNS0xLTEtMA_dbedf5c3-6a34-411e-b691-01289c7e6c55"
      unitRef="usd">165378000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDMtMS0xLTEtMA_dec02de9-999b-4e28-9652-400b94f482bb"
      unitRef="usd">335000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDMtMy0xLTEtMA_0b0860fd-70b6-4168-b76d-3c0ce7ba11e8"
      unitRef="usd">96000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDMtNS0xLTEtMA_ce028f06-be9c-4ef9-89be-03c6f01ee367"
      unitRef="usd">111000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDQtMS0xLTEtMA_7dd55e44-ef6b-4720-83d4-5d523d32d077"
      unitRef="usd">5729000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDQtMy0xLTEtMA_9ce9c51a-90c9-4968-b75b-61afffedc879"
      unitRef="usd">8530000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDQtNS0xLTEtMA_6d27459c-33dd-46c7-9fbe-a881cb405177"
      unitRef="usd">1207000</us-gaap:IncomeTaxesPaid>
    <us-gaap:OperatingLeasePayments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDYtMS0xLTEtMTQwMQ_9dfba727-22f6-4bb5-b208-42e3ce3efd78"
      unitRef="usd">8807000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDYtMy0xLTEtMTQwMQ_54b871ac-a11f-462b-b924-f708ad36f9b0"
      unitRef="usd">4452000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85MS9mcmFnOmViOTk1MGVmMjA1MTQwMDU4NjRlYmFhNjE4NjNkMDg4L3RhYmxlOjg5NGE4ZWFmYzI1ZjQ3Y2RhNjZkMDBlNmE4MWMxMmZkL3RhYmxlcmFuZ2U6ODk0YThlYWZjMjVmNDdjZGE2NmQwMGU2YTgxYzEyZmRfNDYtNS0xLTEtMTQwMQ_bc8341db-9a5c-436a-83b1-4b9264cd39e9"
      unitRef="usd">4313000</us-gaap:OperatingLeasePayments>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4NzA_865cf12f-b06c-4db5-8ebd-0d919c74e235">Business and Summary of Significant Accounting Policies &lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Description&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tenable Holdings, Inc. (the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; "us," or &#x201c;our&#x201d;) is a provider of Cyber Exposure solutions, which is a discipline for managing, measuring and comparing cybersecurity risk in the digital era. Our platform offerings provide broad visibility into security issues such as vulnerabilities, misconfigurations, internal and regulatory compliance violations and other indicators of the state of an organization&#x2019;s security across IT infrastructure and applications, cloud environments and industrial internet of things and operational technology environments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements include the accounts of Tenable Holdings, Inc. and our wholly owned subsidiaries and have been prepared in conformity with United States generally accepted accounting principles (&#x201c;GAAP&#x201d;). All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Initial Public Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 30, 2018, we completed our initial public offering ("IPO"), in which we issued and sold 12,535,000 shares of common stock at a price to the public of&#160;$23.00&#160;per share, including 1,635,000 shares of common stock purchased by our underwriters from the full exercise of their over-allotment option. All of the shares sold in the IPO were sold by the Company. We received net proceeds of&#160;$264.6 million after deducting underwriting discounts and commissions and other offering expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the completion of our IPO, all&#160;15,847,500 shares&#160;of our Series A Redeemable Convertible Preferred Stock ("Series A") and 39,538,354 shares of our Series B Redeemable Convertible Preferred Stock ("Series B") automatically converted into an aggregate of&#160;55,385,854 shares of our common stock. Our Amended and Restated Certificate of Incorporation adopted in connection with the IPO authorizes a total of 500,000,000 shares of common stock and 10,000,000 shares of preferred stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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 and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. These estimates include, but are not limited to, the determination of the estimated economic life of perpetual licenses for revenue recognition, the estimated period of benefit for deferred commissions, the useful lives of long-lived assets, the fair value of acquired intangible assets, the valuation of stock-based compensation, including the estimated underlying fair value of our common stock prior to our IPO, the incremental borrowing rate for operating leases, and the valuation of deferred tax assets. We base these estimates on historical experience and on various other assumptions that we believe to be reasonable. Actual results could differ significantly from these estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The functional currency for all of our foreign subsidiaries is the U.S. dollar. Assets and liabilities denominated in other currencies are remeasured into U.S. dollars at current exchange rates for monetary assets and liabilities and at historical exchange rates for non-monetary assets and liabilities. We bill our customers in U.S. dollars. Expenses incurred in non U.S. dollar currencies are remeasured into U.S. dollars when incurred. Remeasurement losses in currencies other than the functional currency were $1.7 million, $1.1 million and $1.0 million in 2020, 2019 and 2018, respectively, and are included as a component of other expense, net in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue in order to depict the transfer of promised goods or services to customers in an amount that reflects the consideration we expect to be entitled in exchange for those goods or services. To achieve this, we apply the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identify the contract with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identify the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Determine the transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Allocate the transaction price to the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Recognize revenue when or as performance obligations are satisfied&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#24282d;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In situations where we enter into a contractual arrangement that includes non-standard terms and conditions, such as acceptance provisions or options to purchase additional products and services, as well as contract modifications, we apply judgment in identifying and assessing the impact on revenue recognition. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate revenue from subscription arrangements for software and cloud-based solutions, perpetual licenses, maintenance associated with perpetual licenses, and professional services and other revenue. We begin to recognize revenue when control of our software or services is transferred to the customer, which for sales made through distributors is concurrent with the transfer to the end user.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Subscription Revenue&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subscription arrangements generally have annual or multi-year contractual terms and allow customers to use our software or cloud solutions, including ongoing software updates and the ability to identify the latest cybersecurity vulnerabilities. Revenue is recognized ratably over the subscription term given the critical utility provided by the ongoing updates that are released throughout the contract period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Perpetual License and Maintenance Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our perpetual licenses are generally sold with one or more years of maintenance, which include ongoing software updates and the ongoing ability to identify the latest cybersecurity vulnerabilities. Given the critical utility provided by the ongoing software updates and updated ability to identify network vulnerabilities included in maintenance, we combine the perpetual license and the maintenance into a single performance obligation. Perpetual license arrangements generally contain a material right related to the customer&#x2019;s ability to renew maintenance at a price that is less than the initial license fee. We apply a practical alternative to allocating a portion of the transaction price to the material right performance obligation and estimate a hypothetical transaction price which includes fees for expected maintenance renewals based on the estimated economic life of the perpetual license contracts. We allocate the transaction price between the cybersecurity subscription provided in the initial contract and the material right related to expected contract renewals based on the hypothetical transaction price. We recognize the amount allocated to the combined license and maintenance performance obligation over the initial contractual period, which is generally one year. We recognize the amount allocated to the material right over the expected maintenance renewal period, which begins at the end of the initial contractual term and is generally four years. We have estimated the five-year economic life of perpetual license contracts based on historical contract attrition, expected renewal periods, the lifecycle of the our technology and other factors. While we believe that the estimates we have made are reasonable and appropriate, different assumptions and estimates could materially impact our reported financial results.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Professional Services and Other Revenue&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Professional services and other revenue is primarily comprised of advisory services and training related to the deployment and optimization of our products. These services do not result in significant customization of our products. Professional services and other revenue is recognized as the services are performed. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contracts with Multiple Performance Obligations&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In cases where our contracts with customers contain multiple performance obligations, the contract transaction price is allocated on a relative standalone selling price basis. We typically determine standalone selling price based on observable selling prices of our products and services. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Variable Consideration &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record revenue from sales at the net sales price, which is the transaction price, including estimates of variable consideration when applicable. Certain of our customers may be entitled to receive credits and in certain circumstances, refunds, if service level commitments are not met. We have not historically experienced significant incidents affecting the ability to meet these service level commitments and any estimated refunds related to these agreements have not been material. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales through our channel network of distributors and resellers are generally discounted as compared to the price that we would sell to an end user. Revenue for sales through our channel network is recorded net of any distributor or reseller margin. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly liquid financial instruments with an original maturity of three months or less when purchased to be cash equivalents.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020 and 2019, cash and cash equivalents included $0.4 million of restricted cash, which is related to collateral for a lease and credit card deposits. At December 31, 2020 and 2019, cash and cash equivalents excluded $0.2 million and $0.3 million, respectively, of restricted cash, which is related to an account established as collateral for a lease arrangement and is included in other assets on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received from selling an asset, or paid to transfer a liability, in an orderly transaction between market participants at the measurement date. We apply fair value accounting for all financial assets and liabilities that are recognized or disclosed at fair value in the financial statements on a recurring basis. We measure cash and cash equivalents and short-term investments at fair value using a fair value hierarchy of inputs. We approximate fair value by using the carrying amounts for accounts receivable, accounts payable and accrued expenses due to their short-term nature.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We currently invest in commercial paper, corporate bonds, and U.S. treasury and agency obligations. Our investments are classified as available-for-sale and recorded at fair value, with unrealized gains and losses reported in accumulated other comprehensive income within stockholders&#x2019; equity (deficit).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate potential impairments of available-for-sale debt securities due to credit-related and non-credit-related factors, including market risk, and if it is more-likely-than-not that we would have to sell the security before the recovery of the amortized cost basis. Identified credit-related impairments would be recognized as a charge in the statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are recorded at the invoiced amount, less an allowance for doubtful accounts, and do not bear interest. We maintain an allowance for doubtful accounts at an amount estimated to be sufficient to cover the risk of collecting less than full payment of the receivables. At each balance sheet date, we evaluate our receivables and assess the allowance for doubtful accounts based on specific customer collection issues and historical write-off trends.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our allowance for doubtful accounts reflects our best estimate of expected future credit losses. We consider various factors that may impact our ability to collect on accounts receivable, including our historical collection experience, age of accounts receivable balances, current conditions, reasonable and supportable forecasts of future economic conditions, as well as other factors. However, given the uncertainty caused by the COVID-19 pandemic and other factors, these estimates may change and future credit losses may differ from our estimates. Expected credit losses from accounts receivable are recognized as expense in our statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Commissions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales commissions, including related fringe benefit costs, are considered to be incremental costs of obtaining a contract. Sales commissions on initial sales are not commensurate with sales commissions on contract renewals and therefore are recognized over an estimated period of benefit, which ranges between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTIxMTk_af4b571c-825d-40cc-8134-1b873fdc6dc3"&gt;three&lt;/span&gt; and four years for subscription arrangements and five years for perpetual license arrangements. We estimated the period of benefit based on the expected contract term including renewal periods, the lifecycle of our technology, and other factors. Sales commissions on contract renewals are capitalized and amortized ratably over the contract term as part of sales and marketing expense, with the exception of contracts with renewal periods that are one year or less, in which case the incremental costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net is stated at historical cost less accumulated depreciation. Depreciation is computed using the straight-line method over the estimated useful lives of the assets: three years for computer software and equipment and five years for furniture and fixtures. Leasehold improvements are amortized using the straight-line method over the shorter of the estimated useful lives of the assets or the terms of the respective leases. Property and equipment, net includes right-of-use assets acquired under finance leases. Amortization of assets acquired under finance leases is included in depreciation expense. Repairs and maintenance costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement contains a lease and the classification of that lease, if applicable, at inception. We have elected to not recognize a lease liability or right-of-use ("ROU") asset for short-term leases (leases with a term of twelve months or less). For contracts with lease and non-lease components, we have elected to not allocate the contract consideration, and account for the lease and non-lease components as a single lease component. Additionally, we enter into arrangements to use shared office spaces and other facilities, and have determined that these arrangements do not contain leases as we do not have the right to use an identified asset. Operating leases are included in operating lease ROU assets, operating lease liabilities and operating lease liabilities (net of current portion) in our consolidated balance sheets. Finance leases are included in property and equipment, other current liabilities and other liabilities in our consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments under the lease. Operating lease ROU assets and liabilities are recognized at the lease commencement date based on the present value of lease payments over the lease term. The implicit rate within our operating leases are generally not determinable and we use our incremental borrowing rate at the lease commencement date to determine the present value of lease payments. The determination of our incremental borrowing rate requires judgment. We determine our incremental borrowing rate for each lease using our current borrowing rate, adjusted for various factors including level of collateralization, term and currency to align with the terms of the lease. The operating lease ROU asset also includes any lease prepayments, offset by lease incentives. Certain of our leases include options to extend or terminate the lease. An option to extend the lease is considered in connection with determining the ROU asset and lease liability when it is reasonably certain we will exercise that option. An option to terminate is considered unless it is reasonably certain we will not exercise the option.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease expense for lease payments is recognized on a straight-line basis over the term of the lease.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate our long-lived assets for impairment whenever events or changes in circumstance indicate that the carrying amount may not be fully recoverable. Recoverability of the long-lived assets is measured by a comparison of the carrying amount of the assets to future undiscounted net cash flows expected to be generated by the assets. If such assets are considered to be impaired, the impairment to be recognized is measured as the excess of the carrying amount over the fair value. There was no impairment of long-lived assets in 2020, 2019 or 2018.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for business combinations by recognizing the fair value of acquired assets and liabilities. The excess purchase consideration over the fair value of acquired assets and liabilities is recorded as goodwill. When determining the fair value of assets acquired and liabilities assumed, we make estimates and assumptions, especially with respect to intangible assets. Estimates in valuing certain identifiable intangible assets include, but are not limited to, projected revenue growth rates, future expected operating expenses, obsolescence projections and an appropriate discount rate. Our estimate of fair value is based upon assumptions we believe to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, we may make adjustments to the fair value of assets acquired and liabilities assumed, with offsetting adjustments to goodwill. Any adjustments made after the measurement period will be reflected in the consolidated statements of operations. Acquisition-related transaction costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The excess of the purchase consideration over the fair value of acquired assets and liabilities is recorded as goodwill. We perform our annual impairment assessment on October 1, or more frequently, when events or circumstances indicate impairment may have occurred. We operate as one reporting unit and have elected to first assess qualitative factors to determine whether it is more likely than not that the fair value of the Company as a whole is less than its carrying amount, including goodwill. The qualitative assessment includes an evaluation of relevant events and circumstances, including macroeconomic, industry and market conditions, our overall financial performance, and trends in the value of our common stock. During the periods presented, there were no indications of impairment and it was not more likely than not that goodwill was impaired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising costs are expensed as they are incurred. We incurred advertising costs of $8.2 million, $5.3 million and $3.3 million in 2020, 2019 and 2018, respectively, which are included in sales and marketing expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development costs to develop software to be sold, leased or marketed are expensed as incurred up to the point of technological feasibility for the related software product. We have not capitalized development costs for software to be sold, leased or marketed to date, as the software development process is essentially completed concurrent with the establishment of technological feasibility. As such, these costs are expensed as incurred and recognized in research and development costs in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software developed for internal use, with no substantive plans to market such software at the time of development, are capitalized and included in property and equipment, net in the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation and post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. In 2020, 2019 and 2018, we capitalized $1.6 million, $4.2 million and $2.4 million, respectively, of development costs related to internal use software.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense related to our restricted stock units ("RSUs"), purchase rights issued under our &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2018 Employee Stock Purchase Plan ("2018 ESPP"), stock options and restricted stock is calculated based on the fair value of the awards granted and is recognized on a straight-line basis over the requisite service period, which is generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzg0ODI5MDc0MjMxNQ_9ccac568-4c12-420e-953a-d21ae19eef1b"&gt;two&lt;/span&gt; to four years. RSUs that include performance-based vesting conditions and are expensed using the accelerated attribution method. We account for forfeitures as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of RSUs is based on the estimated fair value of our common stock on the date of grant. The fair value of stock options and 2018 ESPP purchase rights is estimated on the grant date using the Black-Scholes option pricing model, which requires us to make assumptions and judgments, including the expected term, expected volatility, and risk-free interest rates. Prior to our IPO, we estimated the fair value of our common stock at the date of grant. Following our IPO, we use the market price of our common stock at the date of grant. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculate basic and diluted net loss per share attributable to common stockholders in conformity with the two-class method required for participating securities. Under the&#160;two-class&#160;method, the net loss attributable to common stockholders is not allocated to the redeemable convertible preferred stock as the holders of our redeemable convertible preferred stock do not have a contractual obligation to share in losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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. Net loss attributable to common stockholders is calculated by adjusting net loss by the current period accretion of redeemable convertible preferred stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the completion of our IPO, all of our Series A and Series B redeemable convertible preferred stock automatically converted into shares of our common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Diluted earnings per share attributable to common stockholders is computed by giving effect to all potentially dilutive common stock equivalents in the period, including unvested RSUs, stock options, unvested restricted shares, redeemable convertible preferred stock and shares to be issued under our 2018 ESPP. As we have reported losses for all periods presented, all potentially dilutive securities have been excluded from the calculation of diluted net loss per share attributable to common stockholders as their effect would be antidilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate as one operating segment as our chief executive officer, who is our chief operating decision maker, reviews financial information on a consolidated basis for purposes of making operating decisions, allocating resources, and evaluating financial performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income taxes are accounted for under the asset and liability method. This method requires recognition of deferred tax assets and liabilities for the expected future tax consequences of temporary differences between the financial statement carrying amounts and the tax basis of existing assets and liabilities, net operating loss carryforwards, and tax credit carryforwards. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize tax benefits from an uncertain tax position if it is more likely than not to be sustained upon audit by the relevant taxing authority. Interest and penalties associated with such uncertain tax positions are classified as a component of income tax expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted Accounting Standards Update ("ASU") No. 2016-13 &#x2014;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments-Credit Losses (Topic 326)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Measurement of Credit Losses on Financial Instruments,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; effective January 1, 2020 using the modified retrospective approach. The new standard replaces the previous incurred loss impairment methodology with a methodology that reflects &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;current expected credit losses for financial assets, including trade receivables, which are not measured at fair value, through net income. The adoption of this guidance did not have a material impact on our condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Issued Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12 -&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes (Topic 740)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. This ASU eliminates previously allowed exceptions and clarifies existing guidance in the accounting for income taxes, including in the areas of franchise taxes, the tax basis of goodwill and interim period effects of changes in tax laws. This guidance was effective for us beginning January 1, 2021. We do not expect the impact of adopting this standard to be material for our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4ODg_99bd04e9-7b70-45a8-9832-071409e76b0c">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements include the accounts of Tenable Holdings, Inc. and our wholly owned subsidiaries and have been prepared in conformity with United States generally accepted accounting principles (&#x201c;GAAP&#x201d;). All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i8e78fede6e214860ac828ec1f4eaf2a6_D20180730-20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTAwMA_2faafe52-15f5-4f5b-9191-ec5c4811014f"
      unitRef="shares">12535000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ifb33953877cc4582bcbc6976cc2223a5_I20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTA0Nw_c1ced02b-c7db-44c3-b6b2-6e37a4436768"
      unitRef="usdPerShare">23.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i24e5f39afd4b4f39a85ad0e9b909383f_D20180730-20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTA3MQ_7bc4e69b-eb1c-4902-ae57-5c482ee8ae1b"
      unitRef="shares">1635000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="i9de27a8108e94e4e92a3a195506fea57_D20180730-20180730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTI2Mw_3b5660f2-7913-4870-aa25-3597bce14345"
      unitRef="usd">264600000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="if9231d55c707443aae134d673c25ec4b_D20180730-20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTM4Ng_111c143b-b28d-440e-a88a-063da0cabd05"
      unitRef="shares">15847500</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i60ff1b85e4fe40b1b2f45ca726d2f06f_D20180730-20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTQ2MQ_be5b401b-d789-4128-89bd-0d6101771ab8"
      unitRef="shares">39538354</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i8e78fede6e214860ac828ec1f4eaf2a6_D20180730-20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTU3Nw_21cbaef6-cd72-4e46-aa16-edc42371c59b"
      unitRef="shares">55385854</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i14da34c659a4437388d66aec70adf10e_I20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTcxMg_2799b768-793a-43dd-b462-937f882ace34"
      unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i14da34c659a4437388d66aec70adf10e_I20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTczNQ_c44302ea-e285-4728-a559-b17480ee32dd"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:UseOfEstimates
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU5MTE_02f42d05-6b5e-4260-ad33-94adc5199dcf">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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 and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. These estimates include, but are not limited to, the determination of the estimated economic life of perpetual licenses for revenue recognition, the estimated period of benefit for deferred commissions, the useful lives of long-lived assets, the fair value of acquired intangible assets, the valuation of stock-based compensation, including the estimated underlying fair value of our common stock prior to our IPO, the incremental borrowing rate for operating leases, and the valuation of deferred tax assets. We base these estimates on historical experience and on various other assumptions that we believe to be reasonable. Actual results could differ significantly from these estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4Nzc_a2ff43c7-e7ea-480c-87dc-6cf079ff6de4">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The functional currency for all of our foreign subsidiaries is the U.S. dollar. Assets and liabilities denominated in other currencies are remeasured into U.S. dollars at current exchange rates for monetary assets and liabilities and at historical exchange rates for non-monetary assets and liabilities. We bill our customers in U.S. dollars. Expenses incurred in non U.S. dollar currencies are remeasured into U.S. dollars when incurred. Remeasurement losses in currencies other than the functional currency were $1.7 million, $1.1 million and $1.0 million in 2020, 2019 and 2018, respectively, and are included as a component of other expense, net in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzIyMQ_84ee5bb3-2e82-4741-b6a1-4833aec5baa7"
      unitRef="usd">-1700000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzIyNQ_f05875d2-5e5d-4e2f-8152-8d4a7b2d2c94"
      unitRef="usd">-1100000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzIzMg_b2295f38-fd4a-4441-8d55-50c4c587a20a"
      unitRef="usd">-1000000.0</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4Nzg_75194b08-2784-41e3-9da7-596156a1195b">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue in order to depict the transfer of promised goods or services to customers in an amount that reflects the consideration we expect to be entitled in exchange for those goods or services. To achieve this, we apply the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identify the contract with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identify the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Determine the transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Allocate the transaction price to the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Recognize revenue when or as performance obligations are satisfied&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#24282d;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In situations where we enter into a contractual arrangement that includes non-standard terms and conditions, such as acceptance provisions or options to purchase additional products and services, as well as contract modifications, we apply judgment in identifying and assessing the impact on revenue recognition. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate revenue from subscription arrangements for software and cloud-based solutions, perpetual licenses, maintenance associated with perpetual licenses, and professional services and other revenue. We begin to recognize revenue when control of our software or services is transferred to the customer, which for sales made through distributors is concurrent with the transfer to the end user.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Subscription Revenue&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subscription arrangements generally have annual or multi-year contractual terms and allow customers to use our software or cloud solutions, including ongoing software updates and the ability to identify the latest cybersecurity vulnerabilities. Revenue is recognized ratably over the subscription term given the critical utility provided by the ongoing updates that are released throughout the contract period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Perpetual License and Maintenance Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our perpetual licenses are generally sold with one or more years of maintenance, which include ongoing software updates and the ongoing ability to identify the latest cybersecurity vulnerabilities. Given the critical utility provided by the ongoing software updates and updated ability to identify network vulnerabilities included in maintenance, we combine the perpetual license and the maintenance into a single performance obligation. Perpetual license arrangements generally contain a material right related to the customer&#x2019;s ability to renew maintenance at a price that is less than the initial license fee. We apply a practical alternative to allocating a portion of the transaction price to the material right performance obligation and estimate a hypothetical transaction price which includes fees for expected maintenance renewals based on the estimated economic life of the perpetual license contracts. We allocate the transaction price between the cybersecurity subscription provided in the initial contract and the material right related to expected contract renewals based on the hypothetical transaction price. We recognize the amount allocated to the combined license and maintenance performance obligation over the initial contractual period, which is generally one year. We recognize the amount allocated to the material right over the expected maintenance renewal period, which begins at the end of the initial contractual term and is generally four years. We have estimated the five-year economic life of perpetual license contracts based on historical contract attrition, expected renewal periods, the lifecycle of the our technology and other factors. While we believe that the estimates we have made are reasonable and appropriate, different assumptions and estimates could materially impact our reported financial results.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Professional Services and Other Revenue&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Professional services and other revenue is primarily comprised of advisory services and training related to the deployment and optimization of our products. These services do not result in significant customization of our products. Professional services and other revenue is recognized as the services are performed. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contracts with Multiple Performance Obligations&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In cases where our contracts with customers contain multiple performance obligations, the contract transaction price is allocated on a relative standalone selling price basis. We typically determine standalone selling price based on observable selling prices of our products and services. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Variable Consideration &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record revenue from sales at the net sales price, which is the transaction price, including estimates of variable consideration when applicable. Certain of our customers may be entitled to receive credits and in certain circumstances, refunds, if service level commitments are not met. We have not historically experienced significant incidents affecting the ability to meet these service level commitments and any estimated refunds related to these agreements have not been material. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales through our channel network of distributors and resellers are generally discounted as compared to the price that we would sell to an end user. Revenue for sales through our channel network is recorded net of any distributor or reseller margin. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Commissions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales commissions, including related fringe benefit costs, are considered to be incremental costs of obtaining a contract. Sales commissions on initial sales are not commensurate with sales commissions on contract renewals and therefore are recognized over an estimated period of benefit, which ranges between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTIxMTk_af4b571c-825d-40cc-8134-1b873fdc6dc3"&gt;three&lt;/span&gt; and four years for subscription arrangements and five years for perpetual license arrangements. We estimated the period of benefit based on the expected contract term including renewal periods, the lifecycle of our technology, and other factors. Sales commissions on contract renewals are capitalized and amortized ratably over the contract term as part of sales and marketing expense, with the exception of contracts with renewal periods that are one year or less, in which case the incremental costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <tenb:LicenseAndMaintenancePeriod
      contextRef="i2e0b2618c5274e83bc09d222b4b8a5b8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfNjQzMQ_85b8a8a3-aa09-4ae5-b955-a69bd3afeaeb">P1Y</tenb:LicenseAndMaintenancePeriod>
    <tenb:MaintenanceRenewalPeriod
      contextRef="i2e0b2618c5274e83bc09d222b4b8a5b8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfNjYxMA_036b8e82-c4ca-4d10-b65b-9060201722b9">P4Y</tenb:MaintenanceRenewalPeriod>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i2e0b2618c5274e83bc09d222b4b8a5b8_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzg0ODI5MDcyNzE3Ng_663fb0aa-bce8-4c56-bf5f-a453f31471bd">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4OTM_9e8be52b-c64d-43c0-973d-276265ffd348">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly liquid financial instruments with an original maturity of three months or less when purchased to be cash equivalents.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020 and 2019, cash and cash equivalents included $0.4 million of restricted cash, which is related to collateral for a lease and credit card deposits. At December 31, 2020 and 2019, cash and cash equivalents excluded $0.2 million and $0.3 million, respectively, of restricted cash, which is related to an account established as collateral for a lease arrangement and is included in other assets on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i27479813747844f2a07759cdf369ec84_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfOTgxNg_ed05437b-2483-4b54-b7fd-bce47585a3da"
      unitRef="usd">400000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i7700b8aeb2b347e0abd25d2e6bc10a00_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfOTgxNg_fa772e5f-fcbb-44d4-b01c-b43ee6eb439e"
      unitRef="usd">400000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i694e3530b0e842c6a4a25cce9df74a32_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTAwMjY_4d934826-0ead-4409-8e00-84c43203ab91"
      unitRef="usd">200000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="i173e1677618c4a81ac67ed7735e40c01_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTA5OTUxMTY1NzgxOA_a1063c0b-b7ef-464c-9aac-7a0fc3a1bf04"
      unitRef="usd">300000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4NzM_e4687958-0cd5-430f-94f6-16bbd6bfdeec">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received from selling an asset, or paid to transfer a liability, in an orderly transaction between market participants at the measurement date. We apply fair value accounting for all financial assets and liabilities that are recognized or disclosed at fair value in the financial statements on a recurring basis. We measure cash and cash equivalents and short-term investments at fair value using a fair value hierarchy of inputs. We approximate fair value by using the carrying amounts for accounts receivable, accounts payable and accrued expenses due to their short-term nature.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4ODA_5591fa73-739c-4437-92f7-c2da39722e84">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We currently invest in commercial paper, corporate bonds, and U.S. treasury and agency obligations. Our investments are classified as available-for-sale and recorded at fair value, with unrealized gains and losses reported in accumulated other comprehensive income within stockholders&#x2019; equity (deficit).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate potential impairments of available-for-sale debt securities due to credit-related and non-credit-related factors, including market risk, and if it is more-likely-than-not that we would have to sell the security before the recovery of the amortized cost basis. Identified credit-related impairments would be recognized as a charge in the statement of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU5MTA_ca20e0c8-e142-473c-bc60-aa01185e2ef6">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are recorded at the invoiced amount, less an allowance for doubtful accounts, and do not bear interest. We maintain an allowance for doubtful accounts at an amount estimated to be sufficient to cover the risk of collecting less than full payment of the receivables. At each balance sheet date, we evaluate our receivables and assess the allowance for doubtful accounts based on specific customer collection issues and historical write-off trends.&lt;/span&gt;&lt;/div&gt;Our allowance for doubtful accounts reflects our best estimate of expected future credit losses. We consider various factors that may impact our ability to collect on accounts receivable, including our historical collection experience, age of accounts receivable balances, current conditions, reasonable and supportable forecasts of future economic conditions, as well as other factors. However, given the uncertainty caused by the COVID-19 pandemic and other factors, these estimates may change and future credit losses may differ from our estimates. Expected credit losses from accounts receivable are recognized as expense in our statement of operations.</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="icd1a8e71843f45c692efba3530cb94ea_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTIxMjY_e4407fcd-e924-47ec-8be7-1ff9f27a88aa">P4Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="i8b63b24c4e6c491188dcb002d2a0cdf3_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTIxNjk_51dd1665-482c-42b4-b023-1cc3892fbc27">P5Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4ODE_36c0066c-3fc3-4bc0-a88c-3e85b79fe227">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net is stated at historical cost less accumulated depreciation. Depreciation is computed using the straight-line method over the estimated useful lives of the assets: three years for computer software and equipment and five years for furniture and fixtures. Leasehold improvements are amortized using the straight-line method over the shorter of the estimated useful lives of the assets or the terms of the respective leases. Property and equipment, net includes right-of-use assets acquired under finance leases. Amortization of assets acquired under finance leases is included in depreciation expense. Repairs and maintenance costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i8993ae03bba54b55ba0136a9b668970d_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTMwNjM_2f9f1fd4-d8fa-45ee-808e-389fbb8b8631">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i377659c15552459595eed2cae3d48c16_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTMxMDY_a9f6f778-756c-4837-b337-f2da64fd3a9e">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4NzI_a34018fb-0906-4131-8d2e-878ed94d2dcb">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement contains a lease and the classification of that lease, if applicable, at inception. We have elected to not recognize a lease liability or right-of-use ("ROU") asset for short-term leases (leases with a term of twelve months or less). For contracts with lease and non-lease components, we have elected to not allocate the contract consideration, and account for the lease and non-lease components as a single lease component. Additionally, we enter into arrangements to use shared office spaces and other facilities, and have determined that these arrangements do not contain leases as we do not have the right to use an identified asset. Operating leases are included in operating lease ROU assets, operating lease liabilities and operating lease liabilities (net of current portion) in our consolidated balance sheets. Finance leases are included in property and equipment, other current liabilities and other liabilities in our consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ROU assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments under the lease. Operating lease ROU assets and liabilities are recognized at the lease commencement date based on the present value of lease payments over the lease term. The implicit rate within our operating leases are generally not determinable and we use our incremental borrowing rate at the lease commencement date to determine the present value of lease payments. The determination of our incremental borrowing rate requires judgment. We determine our incremental borrowing rate for each lease using our current borrowing rate, adjusted for various factors including level of collateralization, term and currency to align with the terms of the lease. The operating lease ROU asset also includes any lease prepayments, offset by lease incentives. Certain of our leases include options to extend or terminate the lease. An option to extend the lease is considered in connection with determining the ROU asset and lease liability when it is reasonably certain we will exercise that option. An option to terminate is considered unless it is reasonably certain we will not exercise the option.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease expense for lease payments is recognized on a straight-line basis over the term of the lease.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU5MDQ_56d651c6-ada8-470b-a8d0-637379b08f2a">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate our long-lived assets for impairment whenever events or changes in circumstance indicate that the carrying amount may not be fully recoverable. Recoverability of the long-lived assets is measured by a comparison of the carrying amount of the assets to future undiscounted net cash flows expected to be generated by the assets. If such assets are considered to be impaired, the impairment to be recognized is measured as the excess of the carrying amount over the fair value. There was no impairment of long-lived assets in 2020, 2019 or 2018.&lt;/span&gt;&lt;/div&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU5MDU_df072c43-9a75-48ba-a1f1-0c0b89029114">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for business combinations by recognizing the fair value of acquired assets and liabilities. The excess purchase consideration over the fair value of acquired assets and liabilities is recorded as goodwill. When determining the fair value of assets acquired and liabilities assumed, we make estimates and assumptions, especially with respect to intangible assets. Estimates in valuing certain identifiable intangible assets include, but are not limited to, projected revenue growth rates, future expected operating expenses, obsolescence projections and an appropriate discount rate. Our estimate of fair value is based upon assumptions we believe to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the measurement period, we may make adjustments to the fair value of assets acquired and liabilities assumed, with offsetting adjustments to goodwill. Any adjustments made after the measurement period will be reflected in the consolidated statements of operations. Acquisition-related transaction costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4OTY_0f408e4c-f4c0-42b7-b09a-18c1b5356d0e">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The excess of the purchase consideration over the fair value of acquired assets and liabilities is recorded as goodwill. We perform our annual impairment assessment on October 1, or more frequently, when events or circumstances indicate impairment may have occurred. We operate as one reporting unit and have elected to first assess qualitative factors to determine whether it is more likely than not that the fair value of the Company as a whole is less than its carrying amount, including goodwill. The qualitative assessment includes an evaluation of relevant events and circumstances, including macroeconomic, industry and market conditions, our overall financial performance, and trends in the value of our common stock. During the periods presented, there were no indications of impairment and it was not more likely than not that goodwill was impaired.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:NumberOfReportingUnits
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzg0ODI5MDc1ODMxMQ_6e49740c-c90b-417c-80b4-f1ea8dfefa6c"
      unitRef="segment">1</us-gaap:NumberOfReportingUnits>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4ODI_2a118fd1-d8e1-419b-a5b7-697483f2b12b">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising costs are expensed as they are incurred. We incurred advertising costs of $8.2 million, $5.3 million and $3.3 million in 2020, 2019 and 2018, respectively, which are included in sales and marketing expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTkyMTA_21dc5ce5-3e72-4f32-804d-fc530419784a"
      unitRef="usd">8200000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTkyMTQ_be5668b8-2480-46f9-bde4-8c32009c94c4"
      unitRef="usd">5300000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTkyMjE_063c2ec9-dae7-4043-ba8d-2adb51f21ad6"
      unitRef="usd">3300000</us-gaap:AdvertisingExpense>
    <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4OTU_56c217dd-df7a-4810-9a14-8e39dd1e4080">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development costs to develop software to be sold, leased or marketed are expensed as incurred up to the point of technological feasibility for the related software product. We have not capitalized development costs for software to be sold, leased or marketed to date, as the software development process is essentially completed concurrent with the establishment of technological feasibility. As such, these costs are expensed as incurred and recognized in research and development costs in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software developed for internal use, with no substantive plans to market such software at the time of development, are capitalized and included in property and equipment, net in the consolidated balance sheets. Costs incurred during the preliminary planning and evaluation and post implementation stages of the project are expensed as incurred. Costs incurred during the application development stage of the project are capitalized. In 2020, 2019 and 2018, we capitalized $1.6 million, $4.2 million and $2.4 million, respectively, of development costs related to internal use software.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjAzODg_ddba53d8-be65-45a4-8a2a-09e7ebb6e277"
      unitRef="usd">1600000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjAzOTU_fc7b4320-ff9e-4fae-b9c3-942e2e11b68c"
      unitRef="usd">4200000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMTA5OTUxMTY1NjE5NA_b609da3b-a1b3-424f-b743-acffa281d99b"
      unitRef="usd">2400000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4OTc_d874f4b5-8315-4597-80ef-989a05647f2f">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense related to our restricted stock units ("RSUs"), purchase rights issued under our &lt;/span&gt;&lt;/div&gt;2018 Employee Stock Purchase Plan ("2018 ESPP"), stock options and restricted stock is calculated based on the fair value of the awards granted and is recognized on a straight-line basis over the requisite service period, which is generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMzg0ODI5MDc0MjMxNQ_9ccac568-4c12-420e-953a-d21ae19eef1b"&gt;two&lt;/span&gt; to four years. RSUs that include performance-based vesting conditions and are expensed using the accelerated attribution method. We account for forfeitures as they occur.The fair value of RSUs is based on the estimated fair value of our common stock on the date of grant. The fair value of stock options and 2018 ESPP purchase rights is estimated on the grant date using the Black-Scholes option pricing model, which requires us to make assumptions and judgments, including the expected term, expected volatility, and risk-free interest rates. Prior to our IPO, we estimated the fair value of our common stock at the date of grant. Following our IPO, we use the market price of our common stock at the date of grant.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="i1375cfdd9e9e4060b48671c18d42705b_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjA5NDQ_1ff6537e-4ebb-475a-bd89-9f0f6dc59c5f">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU5MDc_a6e3dbf0-deb1-4359-8a3a-6156c452214d">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculate basic and diluted net loss per share attributable to common stockholders in conformity with the two-class method required for participating securities. Under the&#160;two-class&#160;method, the net loss attributable to common stockholders is not allocated to the redeemable convertible preferred stock as the holders of our redeemable convertible preferred stock do not have a contractual obligation to share in losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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. Net loss attributable to common stockholders is calculated by adjusting net loss by the current period accretion of redeemable convertible preferred stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the completion of our IPO, all of our Series A and Series B redeemable convertible preferred stock automatically converted into shares of our common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Diluted earnings per share attributable to common stockholders is computed by giving effect to all potentially dilutive common stock equivalents in the period, including unvested RSUs, stock options, unvested restricted shares, redeemable convertible preferred stock and shares to be issued under our 2018 ESPP. As we have reported losses for all periods presented, all potentially dilutive securities have been excluded from the calculation of diluted net loss per share attributable to common stockholders as their effect would be antidilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4NzY_1b4d2fb3-fe77-4cf7-853a-ceba2fb5a42a">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate as one operating segment as our chief executive officer, who is our chief operating decision maker, reviews financial information on a consolidated basis for purposes of making operating decisions, allocating resources, and evaluating financial performance.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjMxNDc_60f91726-d3ef-41f5-b4a2-189f275a036e"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU5MTU_e1bfb608-d313-428f-ab0b-3ba6a745024a">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Income taxes are accounted for under the asset and liability method. This method requires recognition of deferred tax assets and liabilities for the expected future tax consequences of temporary differences between the financial statement carrying amounts and the tax basis of existing assets and liabilities, net operating loss carryforwards, and tax credit carryforwards. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize tax benefits from an uncertain tax position if it is more likely than not to be sustained upon audit by the relevant taxing authority. Interest and penalties associated with such uncertain tax positions are classified as a component of income tax expense.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl85Ny9mcmFnOjI3MDM1MGZlZDZhNDQ5ZjliMzIxZTYwZmYxMDgxNGM3L3RleHRyZWdpb246MjcwMzUwZmVkNmE0NDlmOWIzMjFlNjBmZjEwODE0YzdfMjU4OTg_c504c9d9-3f89-41a7-82ad-a6e098e3607d">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted Accounting Standards Update ("ASU") No. 2016-13 &#x2014;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments-Credit Losses (Topic 326)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Measurement of Credit Losses on Financial Instruments,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; effective January 1, 2020 using the modified retrospective approach. The new standard replaces the previous incurred loss impairment methodology with a methodology that reflects &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;current expected credit losses for financial assets, including trade receivables, which are not measured at fair value, through net income. The adoption of this guidance did not have a material impact on our condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Issued Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12 -&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes (Topic 740)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. This ASU eliminates previously allowed exceptions and clarifies existing guidance in the accounting for income taxes, including in the areas of franchise taxes, the tax basis of goodwill and interim period effects of changes in tax laws. This guidance was effective for us beginning January 1, 2021. We do not expect the impact of adopting this standard to be material for our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV82MDQ3MzEzOTU2NDg1_22cf3427-7071-41a6-bcf6-0ce2b15e98ce">Revenue&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of revenue:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscription revenue&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,354&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;290,549&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,827&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Perpetual license and maintenance revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Professional services and other revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,586&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell and market our products and services through our field sales force that works closely with our channel partners, which includes a network of distributors and resellers, in developing sales opportunities. We use a two-tiered channel model whereby we sell our products and services to our distributors, which in turn sell to resellers, which then sell to end users. We derived 91%, 90% and 88% of revenue through our channel network in 2020, 2019 and 2018, respectively. One of our distributors accounted for 43%, 43% and 46% of revenue in 2020, 2019 and 2018, respectively. That same distributor accounted for 41% and 40% of accounts receivable at December 31, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally bill our customers in advance and accounts receivable are recorded when we have the right to invoice the customer. Contract liabilities consist of deferred revenue and include customer billings and payments received in advance of performance under the contract. In 2020, 2019 and 2018, we recognized revenue of $274.3 million, $214.0 million and $154.9 million, respectively, that was included in the deferred revenue balance at the beginning of each of the respective periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020, the future estimated revenue related to unsatisfied performance obligations was $443.2 million, of which approximately 76% is expected to be recognized as revenue over the succeeding twelve months, and the remainder expected to be recognized over the four years thereafter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Commissions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the activity of deferred incremental costs of obtaining a contract:&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,265&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,434&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalization of contract acquisition costs&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of deferred contract acquisition 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,341)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV82MDQ3MzEzOTU2NDg2_4341ae62-e3c4-4c4f-86f4-c698dfa1cb6b">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of revenue:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscription revenue&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,354&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;290,549&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,827&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Perpetual license and maintenance revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Professional services and other revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,586&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie7cdff2a43ef4140b0b6e5c474a495b3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF8yLTEtMS0xLTExNDY_16215c7b-c1e0-4c04-be0d-4ac84d7eab2d"
      unitRef="usd">377354000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i486ecf96fb894c14b8d90a4a84376a6e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF8yLTMtMS0xLTExNDY_98f87978-3e39-47ed-a3df-57b2feb20618"
      unitRef="usd">290549000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i466bff6115964799bbc2e5c6f0e1a0d8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF8yLTUtMS0xLTExNDY_81d52fb5-3b91-4106-9b8b-92ddd2d6c199"
      unitRef="usd">205827000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e0b2618c5274e83bc09d222b4b8a5b8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF8zLTEtMS0xLTExNDY_339f8e75-de78-47d0-bda3-85514d36a62d"
      unitRef="usd">50594000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if8a94335856744a780aa1d14faf01e5c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF8zLTMtMS0xLTExNDY_f27040f8-57b3-4dec-a32c-b9b4fc6ad4a9"
      unitRef="usd">54173000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i21188cdb6bb54be6a03568c0c4a984d6_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF8zLTUtMS0xLTExNDY_28540166-0826-4a8e-8b16-c25160476d05"
      unitRef="usd">54622000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i427961c51cea4ed6a49e9f09cbbf87aa_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF80LTEtMS0xLTExNDg_d7d6d478-477d-4469-b718-ee47d556db48"
      unitRef="usd">12273000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7bf976fb0aa24fd0a669db652576c81f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF80LTMtMS0xLTExNDg_745422fb-db08-43a6-87b8-d9560c829678"
      unitRef="usd">9864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79702c1f7e7647258970a8a7f9bfec70_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF80LTUtMS0xLTExNDg_74a1e277-8b3f-40df-881b-a25237367ab2"
      unitRef="usd">6911000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF81LTEtMS0xLTIxMzY_44931982-4645-411d-a73a-c6d59d96f7bc"
      unitRef="usd">440221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF81LTMtMS0xLTIxMzY_9338eb6b-ff9c-4322-acd2-265d841afe0b"
      unitRef="usd">354586000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6NmViNjFjYzVhODg1NDk4MDg1ZWM3YTk2NzEyOTQyZWQvdGFibGVyYW5nZTo2ZWI2MWNjNWE4ODU0OTgwODVlYzdhOTY3MTI5NDJlZF81LTUtMS0xLTIxMzg_8fd80730-2a79-428c-b47b-634f361e05c7"
      unitRef="usd">267360000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i20038c08a9534ca5b464e22df19a7fbe_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzNzIz_a22b51f2-0ea5-4ab8-b6ca-51d790edab44"
      unitRef="number">0.91</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7cdaf45726ac4034b2984f0371d24d82_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzNzI4_828e040b-fd5b-4667-88a5-3d706f746785"
      unitRef="number">0.90</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i225146fa604a47b480d87c8326d52074_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzNzM2_2dbbed9b-bbc0-4cbf-92c2-cd247571eb2d"
      unitRef="number">0.88</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i964dd753e60f469594ce5bc933e9850f_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzODUy_62323177-8d11-4bcf-9a52-4c4bf11bdf8b"
      unitRef="number">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iac876a3242cc440e9b5c13580ed40cd9_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzODU3_f2e9cff0-444c-4e8a-8e4b-24167d8b9bf2"
      unitRef="number">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ifce5ad7b99a3400cbf1aa1e13636d7d3_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzODY1_b7737e7a-ce85-4c4b-9d9e-1040018d2817"
      unitRef="number">0.46</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8d98cd1029314ef3a7349f87990da315_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzOTUx_9c2a6df4-110d-4b34-97d2-6ffdcf1e62b1"
      unitRef="number">0.41</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="idf4e70a5a14c454783ee8b5da2223805_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODgzOTU5_018ec109-5e8d-4f51-9d95-ced34918aac2"
      unitRef="number">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODg0MzUy_d22f1dcd-f907-452b-b7a5-6b9396302619"
      unitRef="usd">274300000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODg0MzYw_3d32ca87-5a5c-453f-ba5f-8cb660ab5223"
      unitRef="usd">214000000.0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8xMDk5NTExNjMxNDY2_052aea8c-b284-4a6a-bab1-0bd72df57866"
      unitRef="usd">154900000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODg0NjA3_e5e11a54-6e14-4e08-9834-e7b431dce339"
      unitRef="usd">443200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i3c6bb857b1fe40b9842d346e8d96f5f8_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODg0NjMx_11e372ed-fbd4-45f4-8450-16ff94317df0"
      unitRef="number">0.76</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i3c6bb857b1fe40b9842d346e8d96f5f8_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODg0OTIy_80d397d4-ca1f-4eda-bd07-aeb8af93c034">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i26f3bfa57d1348c9bd8a039b702bf7c3_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV8zMjk4NTM0ODg0OTIz_8d7b7257-e5a0-4396-bfd8-2b4898f63a50">P4Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CapitalizedContractCostTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGV4dHJlZ2lvbjo2MDk4M2JmZTcwZGY0OTZkOTEyZWVmMWFhODU1OTM3NV82MDQ3MzEzOTU2NDg3_d13a9c82-cb46-49c3-bf32-348b74452bd5">The following summarizes the activity of deferred incremental costs of obtaining a contract:&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,265&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,434&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalization of contract acquisition costs&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of deferred contract acquisition 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,341)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:CapitalizedContractCostTableTextBlock>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM18yLTEtMS0xLTExNzY_b8935dbc-4882-4891-934d-32401d041fb3"
      unitRef="usd">72265000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM18yLTMtMS0xLTExNzY_bc358f75-b05a-4d6f-bc4a-92307cf7347b"
      unitRef="usd">59434000</us-gaap:CapitalizedContractCostNet>
    <tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM18zLTEtMS0xLTExNzY_dd92e129-00f2-4eff-b066-6f7602c679a3"
      unitRef="usd">38756000</tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts>
    <tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM18zLTMtMS0xLTExNzY_253417be-e040-45c6-adf0-121e09fadcf7"
      unitRef="usd">40172000</tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM180LTEtMS0xLTExNzY_05231574-244f-4ef8-b70b-b4292c8e9261"
      unitRef="usd">32145000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM180LTMtMS0xLTExNzY_63139c70-60db-4c72-84b5-b1091fa1c8c7"
      unitRef="usd">27341000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM181LTEtMS0xLTIxNTA_612cfb6a-0b32-4d9b-a342-2481e9e39ace"
      unitRef="usd">78876000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNjc5L2ZyYWc6NjA5ODNiZmU3MGRmNDk2ZDkxMmVlZjFhYTg1NTkzNzUvdGFibGU6M2YzYjljOWU4ZThmNDkxOWJiNzlkZTVkOTE0ZTgyZTMvdGFibGVyYW5nZTozZjNiOWM5ZThlOGY0OTE5YmI3OWRlNWQ5MTRlODJlM181LTMtMS0xLTIxNTE_0d1bc13f-5543-4fde-9c66-c7525e0678aa"
      unitRef="usd">72265000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90ZXh0cmVnaW9uOmFkYTdmYzJmYjE1YzRhYzY5ZGRjY2YyZmFmOWE4YTMwXzYzMg_0cfb3e69-a682-44c2-8c52-934cb7acc4a9">Cash and Cash Equivalents and Short-Term Investments&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize the amortized cost, unrealized gain and loss and estimated fair value of cash equivalents and short-term investments:&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;vertical-align:top;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.574%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.574%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents:&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,613&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents:&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,575&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,575&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,854&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,904&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;At December 31, 2020, all of our short-term investments had maturities within the next twelve months.</us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90ZXh0cmVnaW9uOmFkYTdmYzJmYjE1YzRhYzY5ZGRjY2YyZmFmOWE4YTMwXzYzMw_43214914-fc6d-4d37-910f-0323b20d3c7b">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize the amortized cost, unrealized gain and loss and estimated fair value of cash equivalents and short-term investments:&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;vertical-align:top;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.574%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.574%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents:&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,613&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents:&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,575&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,575&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,854&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,904&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie1be4d52baf84613aa1d07b0880b61ab_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzMtMS0xLTEtMA_ea1f273f-c03d-4039-8a08-33462fa11778"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie1be4d52baf84613aa1d07b0880b61ab_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzMtNy0xLTEtMA_e124e642-8dea-4d64-90cf-e97c4fa08668"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8ca864da4f4e42fc9da7fd0ccdf61402_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzQtMS0xLTEtMA_ba721e62-5619-45e4-8a26-166dc14ed2ff"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8ca864da4f4e42fc9da7fd0ccdf61402_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzQtNy0xLTEtMA_bb6bf92d-48f9-4132-ab65-ac8309d1a3d6"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i0397d9f0599a446c9c0b069937831d9e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzUtMS0xLTEtMA_69ec8a8d-4222-4cf8-9c54-0322d398ba1b"
      unitRef="usd">48653000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i0397d9f0599a446c9c0b069937831d9e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzUtNy0xLTEtMA_a361d8db-0d05-492f-b3bb-53b3090a1004"
      unitRef="usd">48653000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i60a1c982139d44cd86d3b2b4a428a51a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzgtMS0xLTEtMA_6ff2201b-202b-48b5-857c-df3795029db8"
      unitRef="usd">71425000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i60a1c982139d44cd86d3b2b4a428a51a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzgtMy0xLTEtMA_093d44c7-10cc-4bc7-9440-c4604baf7df2"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i60a1c982139d44cd86d3b2b4a428a51a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzgtNS0xLTEtMA_8ae357a6-c528-44b5-bfdf-d6705a0c9f72"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i60a1c982139d44cd86d3b2b4a428a51a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzgtNy0xLTEtMA_54f93321-f48d-4386-ba90-898577d6c427"
      unitRef="usd">71425000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i6da82c8ff4a64b0280e62fb5f651287f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzktMS0xLTEtMA_b537121e-fef1-43c5-92f4-db269d99c1d1"
      unitRef="usd">4502000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i6da82c8ff4a64b0280e62fb5f651287f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzktMy0xLTEtMA_0556931b-8b58-43a1-a534-2e9c73cb9440"
      unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i6da82c8ff4a64b0280e62fb5f651287f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzktNS0xLTEtMA_10838a56-a509-4061-8113-2ea64d46a815"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6da82c8ff4a64b0280e62fb5f651287f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzktNy0xLTEtMA_62a18176-f43c-4576-8a7b-67cce58ec09e"
      unitRef="usd">4505000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i0ee113862bdf4204aa10ea54af200128_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzEwLTEtMS0xLTA_a671d223-5033-4348-9961-fb17a85435d5"
      unitRef="usd">37686000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i0ee113862bdf4204aa10ea54af200128_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzEwLTMtMS0xLTA_800a75e2-0e5f-457e-be7f-5f5aac4688e5"
      unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i0ee113862bdf4204aa10ea54af200128_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzEwLTUtMS0xLTA_961d81a7-7913-4686-93e2-e6235e6a8aa7"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0ee113862bdf4204aa10ea54af200128_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzEwLTctMS0xLTA_b0a0c096-c78b-4cb8-bd0f-76865559f464"
      unitRef="usd">37693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzExLTEtMS0xLTA_2bef74e3-3af1-4c2e-ba0a-9c3857583b6a"
      unitRef="usd">113613000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzExLTMtMS0xLTA_6791524c-5371-414f-a088-7265f4c9db89"
      unitRef="usd">10000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzExLTUtMS0xLTA_dbaa1548-ec98-4083-b310-f780698b1708"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTplOGZjZTY3MmNhNTQ0NWE0YmRlMWYxNjEwYmYyZTJjNi90YWJsZXJhbmdlOmU4ZmNlNjcyY2E1NDQ1YTRiZGUxZjE2MTBiZjJlMmM2XzExLTctMS0xLTA_7323c949-2400-472b-8a56-f6fddc37732b"
      unitRef="usd">113623000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i682978203dc5407e9930fedbaa094fd6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzMtMS0xLTEtMA_b337c3d3-c538-4e2a-89df-214f419cd59e"
      unitRef="usd">13588000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i682978203dc5407e9930fedbaa094fd6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzMtNy0xLTEtMA_fc98ca2e-0376-40a9-812e-017400462fb4"
      unitRef="usd">13588000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2623e973d98144c49fc5d54178ad405e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzQtMS0xLTEtNjMy_f72f82b3-b668-45cf-b366-df332381a9f1"
      unitRef="usd">8987000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2623e973d98144c49fc5d54178ad405e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzQtNy0xLTEtNjM2_8b93d5ab-1bb4-435a-a1be-c534d594251b"
      unitRef="usd">8987000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i372d90a2f7b048c6946df8d530797a8f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzQtMS0xLTEtMA_673cec67-54f5-452b-9770-a9f79d99d25b"
      unitRef="usd">22575000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i372d90a2f7b048c6946df8d530797a8f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzQtNy0xLTEtMA_aab0f102-f0d0-4b1d-bc43-70fcd3d8ab38"
      unitRef="usd">22575000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i46c304eaebb544e2b3a36eee46c294e5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzctMS0xLTEtMA_f1238b3b-236c-407b-928d-0e9d61906184"
      unitRef="usd">61371000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i46c304eaebb544e2b3a36eee46c294e5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzctMy0xLTEtMA_6678844d-eff2-42ce-bd48-2c57a7fa9a5c"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i46c304eaebb544e2b3a36eee46c294e5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzctNS0xLTEtMA_ca690435-03b2-48f5-89d4-b66fefe4e66b"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i46c304eaebb544e2b3a36eee46c294e5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzctNy0xLTEtMA_8f7b8910-b09a-4bad-8b53-dba5964dee49"
      unitRef="usd">61371000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i2f559fe945214f9e9204e301bb265ccf_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzgtMS0xLTEtMA_e5441fe8-fd96-4483-98cb-6388434442a3"
      unitRef="usd">23856000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i2f559fe945214f9e9204e301bb265ccf_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzgtMy0xLTEtMA_7145d39f-7485-4a30-9277-918bb25ef43e"
      unitRef="usd">14000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i2f559fe945214f9e9204e301bb265ccf_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzgtNS0xLTEtMA_06375c96-9efb-4930-b493-d05abe882308"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2f559fe945214f9e9204e301bb265ccf_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzgtNy0xLTEtMA_8884b6d3-520f-421a-97d3-26eb3aa82613"
      unitRef="usd">23869000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ie891e2516b1c4a25ac43fbe08a8479de_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzktMS0xLTEtMA_2cdf1a8e-5f24-4789-8134-3d73491625cb"
      unitRef="usd">52627000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie891e2516b1c4a25ac43fbe08a8479de_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzktMy0xLTEtMA_9bb4bd3d-9148-46cc-8456-0d5001200962"
      unitRef="usd">38000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie891e2516b1c4a25ac43fbe08a8479de_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzktNS0xLTEtMA_c5cfce56-414d-4264-b999-0d22c01aa27c"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie891e2516b1c4a25ac43fbe08a8479de_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzktNy0xLTEtMA_51695ea8-2cd2-42a4-8465-1cadd596dcb5"
      unitRef="usd">52664000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzEwLTEtMS0xLTA_50fd0f47-2865-4555-8881-d2b3515a71e5"
      unitRef="usd">137854000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzEwLTMtMS0xLTA_eef5b943-abdc-4e8f-881f-9f79682985c8"
      unitRef="usd">52000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzEwLTUtMS0xLTA_2f74fbf4-2714-49d5-8c56-18465982523e"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDMvZnJhZzphZGE3ZmMyZmIxNWM0YWM2OWRkY2NmMmZhZjlhOGEzMC90YWJsZTpkNzM1YTQ4YWNiZmE0ZDdmYTJhYTFlNmFlNDdlODQ2ZS90YWJsZXJhbmdlOmQ3MzVhNDhhY2JmYTRkN2ZhMmFhMWU2YWU0N2U4NDZlXzEwLTctMS0xLTA_39af8051-cefc-46dc-bbe5-c77af0fb2ebb"
      unitRef="usd">137904000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90ZXh0cmVnaW9uOjI4N2UxYjhjMjA2MTRiZjNhMWZiYWUyZGI2NGY2NjgyXzc3OA_c4946493-c4b3-48de-84c3-a11dfb2444fb">Fair Value Measurements&lt;div style="margin-bottom:6pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure certain financial instruments at fair value using a fair value hierarchy. In the hierarchy, assets are classified based on the lowest level inputs used in valuation into the following categories:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Quoted prices in active markets for identical assets and liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Observable inputs including quoted market prices for similar assets and liabilities in active markets, quoted prices for identical assets and liabilities in inactive markets, or inputs that are corroborated by observable market data; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 3&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Unobservable inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize assets that are measured at fair value on a recurring basis:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash and cash equivalents&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash and cash equivalents&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,575&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,904&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,904&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;We did not have any liabilities measured and recorded at fair value at December 31, 2020 and 2019</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90ZXh0cmVnaW9uOjI4N2UxYjhjMjA2MTRiZjNhMWZiYWUyZGI2NGY2NjgyXzc3Ng_5347e7b0-bd7a-4dbf-adac-30b896f3e6a7">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize assets that are measured at fair value on a recurring basis:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash and cash equivalents&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash and cash equivalents&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,588&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,987&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,575&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,904&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,904&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i5eeb7d51b4be44b8b80673f497c7ac00_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzMtMS0xLTEtMA_4508ebbb-3243-472f-a9ab-de787d99a211"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifd3e6e761df94a0ea269276cfef56c0e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzMtMy0xLTEtMA_84be71d9-9ba0-4425-9d80-5d6fea6881f8"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6d83440197044af6bd0e2baecf43ff78_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzMtNS0xLTEtMA_221d3d5e-8519-452c-b0d0-1604eb2f0711"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie1be4d52baf84613aa1d07b0880b61ab_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzMtNy0xLTEtMA_e9e9bfa7-3c8c-4894-a577-2af8569d6e93"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i9a6c04e831054d4797eb2a2fe84e6a52_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzQtMS0xLTEtMA_cbda770d-8db4-470d-81d0-814338b88c5d"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iaf26867b17f3470b9899e5129f435d3a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzQtMy0xLTEtMA_8ddab072-aa00-4822-aadc-45e25732f07b"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="icd21da0584cb421dba83ede152fe3cc6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzQtNS0xLTEtMA_424b9149-a8ef-464a-8b8d-c98ef59c3f09"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8ca864da4f4e42fc9da7fd0ccdf61402_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzQtNy0xLTEtMA_a9df0d96-ff55-4e83-bd8d-072d36b1ba8a"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i3e18850873de46ba95168f1ba3c8349e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzUtMS0xLTEtMA_54747799-ed92-4513-bd92-edf9ab0bf233"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i689bfc9b5ed94bd2806871e6e1b7595b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzUtMy0xLTEtMA_f02418fe-9361-443c-868c-fa1634cb62e4"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifeebaf1349bb40a784076030b7553968_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzUtNS0xLTEtMA_51c86855-22e7-4f91-9830-bb0f4e9b8a4b"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzUtNy0xLTEtMA_6cc66a2c-0f80-4a05-ae87-03b1975fb907"
      unitRef="usd">48653000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i539499d7d9174a1d8001f9c35d473994_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzgtMS0xLTEtMA_963c9a0d-24c5-4375-9353-fee9316d1910"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie7c2835fc31d4c3da17d26d26d37ef06_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzgtMy0xLTEtMA_93927e5b-3c62-45b1-be7e-d12eb82f901b"
      unitRef="usd">71425000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ifa01951177964c17950b66efb259a926_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzgtNS0xLTEtMA_b8d96d36-fbc2-4c49-9b6e-cbf8648dec4f"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i60a1c982139d44cd86d3b2b4a428a51a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzgtNy0xLTEtMA_32e466e9-62b3-4dbe-aa4a-53eb08a206c0"
      unitRef="usd">71425000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i823a084ce06444dab7a1f6ce2f28ee9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzktMS0xLTEtMA_c6716051-a786-48f6-86ed-c318fa62b28b"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0f6d30e4c86147cc99580b7445e3ed86_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzktMy0xLTEtMA_f8139201-6054-4915-b894-4665dada8b2c"
      unitRef="usd">4505000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i24dc98669c2c446bbc736ddbe43822e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzktNS0xLTEtMA_f2f04245-a92c-4b07-822d-6a18ecf9dde7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i89359414f7144cedb621b9e1edc32f0c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzktNy0xLTEtMA_f60ab20b-6108-4308-854f-b84961c3c374"
      unitRef="usd">4505000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0845c027d5224a499201fceae3c45f02_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzEwLTEtMS0xLTA_228d0bcc-3b8f-45f2-86ad-7f6393b93aca"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic4dff6b11c2a45d2a1ad1c5de6465f77_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzEwLTMtMS0xLTA_14cfbbf9-690b-47fc-b1f5-eaf125be02d3"
      unitRef="usd">37693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8b0124a9e955430ca163189281958f30_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzEwLTUtMS0xLTA_6ec53d76-9b9f-47e6-9e54-5941c9f79046"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iac5187b2b3ba4dcb88e5daffd227f50a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzEwLTctMS0xLTA_c8e3bd92-3a46-4205-b3d4-7646f27385e7"
      unitRef="usd">37693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3e18850873de46ba95168f1ba3c8349e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzExLTEtMS0xLTA_16e86316-62b9-49d9-8e04-3143ebbe8bd3"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i689bfc9b5ed94bd2806871e6e1b7595b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzExLTMtMS0xLTA_0158cf71-d5ba-492e-a6b7-b2f6ed0266ae"
      unitRef="usd">113623000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ifeebaf1349bb40a784076030b7553968_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzExLTUtMS0xLTA_3c36a42d-1912-48b0-b5eb-1ef1fc0f5cf5"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTo1MTdjODZhYWRiODM0ZjI1ODcyOThmZjkwYjE5NWVlMi90YWJsZXJhbmdlOjUxN2M4NmFhZGI4MzRmMjU4NzI5OGZmOTBiMTk1ZWUyXzExLTctMS0xLTA_b974e621-936a-4bbb-bc94-a05496a75fdf"
      unitRef="usd">113623000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4c12eeee27f54b97b9ad50c1cd5f5593_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzMtMS0xLTEtMA_1d3ff8fe-391e-4446-b6a3-d7d28c23c302"
      unitRef="usd">13588000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7e4afe7a19b3451e80d2cc691f2761a6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzMtMy0xLTEtMA_bbc57c6f-5f93-4f82-8b88-e1b489d7f5cf"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie874578eed0e402a86af0c6b8625a047_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzMtNS0xLTEtMA_2adda705-2bc7-4af9-91ba-14df8c44d988"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i682978203dc5407e9930fedbaa094fd6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzMtNy0xLTEtMA_7a789f0a-7906-4099-806a-e5894ffffd30"
      unitRef="usd">13588000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6e386aa658424b108ab0c515e62e5a3c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtMS0xLTEtNjAz_47c03713-7f24-468e-a697-6e351eeb381e"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8b0fe532ca6247878bf9adc4abde87f3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtMy0xLTEtNjAz_7d216fd9-ea0e-4c6a-953d-6f6442650447"
      unitRef="usd">8987000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic008fee88b91458d84c16788a963d6d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtNS0xLTEtNjAz_25cccf15-7784-4102-9bfd-bcda161f21ba"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2623e973d98144c49fc5d54178ad405e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtNy0xLTEtNjE0_55c8ba50-1303-4e1c-a88f-ccaf700e799f"
      unitRef="usd">8987000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2790ab138d3845e5b29c21eab9ab3306_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtMS0xLTEtMA_73eddd98-125f-49d6-87c6-61590d26913d"
      unitRef="usd">13588000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie7c85cdc51984ed29a4bc1829508a0aa_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtMy0xLTEtMA_2b3ea16a-4d5e-4038-8f62-6cae6daf7387"
      unitRef="usd">8987000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8e412fde76e54b81901ed7206730fcd2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtNS0xLTEtMA_4eee342e-164e-4214-84dc-61e6343cf627"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzQtNy0xLTEtMA_34e73059-83ad-414f-82bf-5079f51da06f"
      unitRef="usd">22575000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i49eb814de27146bfba058b230124ba78_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzctMS0xLTEtMA_8f9d1c47-53aa-4216-aac0-ac3a3dc82160"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i03801da101d2449fb1de0b95b7ee34ab_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzctMy0xLTEtMA_ca0fd8cc-adf8-4b49-be54-6a8c1a9f3df0"
      unitRef="usd">61371000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id84a8d4b903d4e4cac73127987cd57c2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzctNS0xLTEtMA_bc940283-40cd-4a50-b33d-593492181653"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i46c304eaebb544e2b3a36eee46c294e5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzctNy0xLTEtMA_147be45d-c54b-41c6-a5ba-0c2709d2a489"
      unitRef="usd">61371000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i93d7cb70a4af46e0b56347ecb0c421d4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzgtMS0xLTEtMA_3da50326-bd54-4fa6-8954-b62ab0576cbe"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia9dd6626ecf8494494fd8af57a4481e9_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzgtMy0xLTEtMA_9036e014-2c2c-44ed-b040-318fd21443d9"
      unitRef="usd">23869000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i90a7ca2d9b19460ab1de04005ba78fd5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzgtNS0xLTEtMA_65e1662d-baa0-4378-bc1d-5f382847a00a"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1fbc460067854454a449ce1c72fcf6eb_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzgtNy0xLTEtMA_f368d2fa-ef53-4976-896c-177614ac2f63"
      unitRef="usd">23869000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia063eeabb5d44d3fa911c3a7cbb58622_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzktMS0xLTEtMA_c2100208-f275-40bd-a136-0a3394403372"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia16d715ed33e4bd8a30fdd52dae5d302_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzktMy0xLTEtMA_8bf76461-24b2-452f-966e-6ca5c8a060e2"
      unitRef="usd">52664000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i7e8b7f2ea6a04db99d05ef1db6bcfa13_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzktNS0xLTEtMA_5e93bf36-c43b-434e-bdd5-44d55ea14542"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i092ce7fe38364fb6ad5bf5c83a758459_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzktNy0xLTEtMA_1eb9ee2d-62be-445c-aedb-c191be835638"
      unitRef="usd">52664000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2790ab138d3845e5b29c21eab9ab3306_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzEwLTEtMS0xLTA_f60d43e6-c825-48ed-8eea-695513a59daf"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie7c85cdc51984ed29a4bc1829508a0aa_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzEwLTMtMS0xLTA_94414cfb-f529-45b9-a57f-a9b18fb18a01"
      unitRef="usd">137904000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8e412fde76e54b81901ed7206730fcd2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzEwLTUtMS0xLTA_b77b28e0-e28f-461b-8880-0a0f1ddc9812"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDYvZnJhZzoyODdlMWI4YzIwNjE0YmYzYTFmYmFlMmRiNjRmNjY4Mi90YWJsZTpmMGM1YWI1ZmMyNjY0MzAzYmI5NTMxZGUwYWU4YTYyNS90YWJsZXJhbmdlOmYwYzVhYjVmYzI2NjQzMDNiYjk1MzFkZTBhZThhNjI1XzEwLTctMS0xLTA_e29a142e-eeac-4011-b9d4-a1329c3a1cad"
      unitRef="usd">137904000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90ZXh0cmVnaW9uOmM5YzlkODkwNjM0YzQ5ZjFiMWM2ZmEwMDBhYTlmMTNjXzIwNw_0046c10f-5c33-499a-9201-63a8c44ea30a">Property and Equipment, Net&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer software and equipment&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,930&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,234&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,011&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,504&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,210&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,953&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets under finance leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,571&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,866&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 style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,722&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,557&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,802)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,710)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,847&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Depreciation and amortization related to property and equipment was $8.1 million, $6.3 million and $5.6 million in 2020, 2019 and 2018, respectively.</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90ZXh0cmVnaW9uOmM5YzlkODkwNjM0YzQ5ZjFiMWM2ZmEwMDBhYTlmMTNjXzIwOQ_d2a92be9-e096-4476-8eac-31adbe23f08a">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer software and equipment&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,930&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,234&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,011&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,504&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,210&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,953&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets under finance leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,571&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,866&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 style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,722&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,557&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,802)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,710)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,847&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1cc495b67f774aa4be9a2a4e3c49dc03_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzItMS0xLTEtMA_84828246-042b-4316-bdb4-3d68309def71"
      unitRef="usd">22930000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7ae11049236c4209b5377cfd30888aed_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzItMy0xLTEtMA_79a5f1a6-dd2f-4d6b-b598-ae6b3ac3eaf5"
      unitRef="usd">21234000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iec9f080af26947f7a18b32a47ab80cf3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzMtMS0xLTEtMA_6bfd84e3-c47b-49e7-9220-8c1880234468"
      unitRef="usd">6011000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="id3eef727ef314a40bfba659412c709ba_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzMtMy0xLTEtMA_10c66d53-3ef1-4de5-877b-bbd089f96f91"
      unitRef="usd">4504000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i8ecd6855a9c14ed7999407f6f1150665_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzQtMS0xLTEtMA_12dc2c9d-ca10-43c9-98e7-6556a901d460"
      unitRef="usd">26210000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="icb7dd65f83d04f3ba3ac32b6863d35f6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzQtMy0xLTEtMA_567e82d3-7eb4-4879-8af4-4f144dc7879c"
      unitRef="usd">16953000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzUtMS0xLTEtMA_7e83f569-6079-47e9-9705-bea15094df3f"
      unitRef="usd">1571000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzUtMy0xLTEtMA_2c48c85a-a55e-4784-93d0-da386e93f52c"
      unitRef="usd">1866000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzYtMS0xLTEtMA_94b16b60-140a-4b9f-a75c-9a396504408b"
      unitRef="usd">56722000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzYtMy0xLTEtMA_e2a509fd-5bce-43e6-915b-145c4b8ff0c3"
      unitRef="usd">44557000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzctMS0xLTEtMA_ddaec108-fce5-41ce-9e4a-8e3a8b63254e"
      unitRef="usd">17802000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzctMy0xLTEtMA_dcbee6c2-085d-488b-9d26-e11d976be533"
      unitRef="usd">17710000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzgtMS0xLTEtMA_fa75daed-c632-4e1c-8176-f302c4f4ba74"
      unitRef="usd">38920000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90YWJsZTo2NjBmODUxZDM2ZTE0YzQ4YjAzMGQxY2E1Nzk2NTBjOS90YWJsZXJhbmdlOjY2MGY4NTFkMzZlMTRjNDhiMDMwZDFjYTU3OTY1MGM5XzgtMy0xLTEtMA_cd779eec-9fc6-4079-b051-1f206d238cd0"
      unitRef="usd">26847000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90ZXh0cmVnaW9uOmM5YzlkODkwNjM0YzQ5ZjFiMWM2ZmEwMDBhYTlmMTNjXzE2Mw_595bc4b1-11d5-49c9-8f9a-30716f51cec3"
      unitRef="usd">8100000</tenb:DepreciationandAmortizationPropertyandEquipment>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90ZXh0cmVnaW9uOmM5YzlkODkwNjM0YzQ5ZjFiMWM2ZmEwMDBhYTlmMTNjXzE2Nw_23a0e57c-d463-4893-a8a6-fc9955b9ac2f"
      unitRef="usd">6300000</tenb:DepreciationandAmortizationPropertyandEquipment>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMDkvZnJhZzpjOWM5ZDg5MDYzNGM0OWYxYjFjNmZhMDAwYWE5ZjEzYy90ZXh0cmVnaW9uOmM5YzlkODkwNjM0YzQ5ZjFiMWM2ZmEwMDBhYTlmMTNjXzE3NA_f344dda8-e17c-41b7-b374-0ee71cbc71c9"
      unitRef="usd">5600000</tenb:DepreciationandAmortizationPropertyandEquipment>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIyMjI_ce4531dd-1231-4860-9f55-97ba0e3db926">Acquisition, Goodwill and Intangible Assets&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combination&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 2, 2019, we acquired Indegy Ltd. (&#x201c;Indegy&#x201d;) to expand our OT-specific capabilities. Through a share purchase agreement, we acquired 100% of Indegy's equity in exchange for total cash consideration of $80.3 million, including cash acquired of $5.5 million and a working capital adjustment of $0.3&#160;million paid in November 2020. As part of the acquisition, all unvested options to acquire ordinary shares of Indegy vested immediately, and all options to acquire ordinary shares of Indegy were canceled in exchange for a right to receive a portion of the cash consideration. We paid $1.8 million for unvested options, which is included in post-acquisition stock-based compensation expense in our consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cash consideration was allocated 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash acquired&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other net tangible assets acquired&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total purchase price allocation&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,327&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets and their estimated useful lives at the date of acquisition are 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Intangible Assets&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(dollars in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Useful Life&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,500&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7 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;span style="color:#000000;font-family:'Arial',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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,700&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Indegy results of operations and pro forma results were not material to the consolidated statement of operations in 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In general and administrative expense, we recognized&#160;$0.3 million of acquisition-related transaction costs in 2020. In 2019, we recognized $4.0 million of acquisition-related transaction costs, including $2.1 million of expense related to the intercompany transfer of intellectual property.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill and Acquired Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill&#160;are 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2019&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital adjustment&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,414&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The excess purchase consideration over the fair value of acquired assets and liabilities is recorded as goodwill. The acquired goodwill reflects the synergies we expect from integrating Indegy's capabilities into our enterprise platform &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;offerings and from marketing and selling these new capabilities to our customers. None of the acquired goodwill is tax deductible.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets subject to amortization are 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;vertical-align:top;width:99.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.333%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,224)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,101&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,009)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,316&#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;/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:'Arial',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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(108)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,525&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,332)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,193&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,525&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,017)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,508&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization of acquired intangible assets was $2.3 million, $0.6 million, and $0.6 million in 2020, 2019 and 2018, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020, estimated future amortization of intangible assets 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,193&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i26f070e1faec428695489e81e2a17383_D20191202-20191202"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzEwOTk1MTE2MzE2MzM_20ca961c-1207-4228-9115-7c51503c4313"
      unitRef="usd">80300000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="i26f070e1faec428695489e81e2a17383_D20191202-20191202"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzMxMA_7ae65d74-c37f-4af4-b4f3-01d3d8a95c95"
      unitRef="usd">5500000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="i26f070e1faec428695489e81e2a17383_D20191202-20191202"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzEwOTk1MTE2MzA0ODU_fcebae97-a96b-4936-ace6-5d26357a75ae"
      unitRef="usd">300000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <tenb:BusinessCombinationUnvestedOptionsAcquiredCompensationExpense
      contextRef="i26f070e1faec428695489e81e2a17383_D20191202-20191202"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzU2Nw_0be4d495-aac0-41a1-b442-49a46132b09c"
      unitRef="usd">1800000</tenb:BusinessCombinationUnvestedOptionsAcquiredCompensationExpense>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIyMjM_8ddcc892-1698-49df-9890-83510fb622ba">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cash consideration was allocated 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash acquired&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other net tangible assets acquired&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total purchase price allocation&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,327&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="iefaac90c1d014270be244f7d1a866acb_I20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo2OGY4ZDMzZTcwNzY0MzIxYjRmZDBmNWFhOTVkYTg2ZC90YWJsZXJhbmdlOjY4ZjhkMzNlNzA3NjQzMjFiNGZkMGY1YWE5NWRhODZkXzEtMS0xLTEtMA_62a3a772-459e-43da-9f5a-7e583290f361"
      unitRef="usd">5500000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="iefaac90c1d014270be244f7d1a866acb_I20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo2OGY4ZDMzZTcwNzY0MzIxYjRmZDBmNWFhOTVkYTg2ZC90YWJsZXJhbmdlOjY4ZjhkMzNlNzA3NjQzMjFiNGZkMGY1YWE5NWRhODZkXzItMS0xLTEtMA_d2962292-cfce-47cb-a30a-5ff019f0ef86"
      unitRef="usd">735000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="iefaac90c1d014270be244f7d1a866acb_I20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo2OGY4ZDMzZTcwNzY0MzIxYjRmZDBmNWFhOTVkYTg2ZC90YWJsZXJhbmdlOjY4ZjhkMzNlNzA3NjQzMjFiNGZkMGY1YWE5NWRhODZkXzMtMS0xLTEtMA_bb2aea0d-8581-4ffb-88f4-6bf89807a522"
      unitRef="usd">4243000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="iefaac90c1d014270be244f7d1a866acb_I20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo2OGY4ZDMzZTcwNzY0MzIxYjRmZDBmNWFhOTVkYTg2ZC90YWJsZXJhbmdlOjY4ZjhkMzNlNzA3NjQzMjFiNGZkMGY1YWE5NWRhODZkXzQtMS0xLTEtMA_dbea44ab-153e-41c5-97ea-7444b83b1de8"
      unitRef="usd">15700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="iefaac90c1d014270be244f7d1a866acb_I20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo2OGY4ZDMzZTcwNzY0MzIxYjRmZDBmNWFhOTVkYTg2ZC90YWJsZXJhbmdlOjY4ZjhkMzNlNzA3NjQzMjFiNGZkMGY1YWE5NWRhODZkXzUtMS0xLTEtMA_2d7e8661-c651-4881-a1d7-d423a4b9e88b"
      unitRef="usd">54149000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="iefaac90c1d014270be244f7d1a866acb_I20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo2OGY4ZDMzZTcwNzY0MzIxYjRmZDBmNWFhOTVkYTg2ZC90YWJsZXJhbmdlOjY4ZjhkMzNlNzA3NjQzMjFiNGZkMGY1YWE5NWRhODZkXzYtMS0xLTEtMA_ad234a76-c116-4312-8987-22bc946ca1ff"
      unitRef="usd">80327000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIyMjU_0142c568-3882-4d19-af69-d4fe9143d391">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets and their estimated useful lives at the date of acquisition are 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Intangible Assets&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(dollars in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Useful Life&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,500&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7 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;span style="color:#000000;font-family:'Arial',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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,700&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i78ecc67e6fe24326971fbaaabaadb923_D20191202-20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTpkMTUwY2UwYWQ2NmY0NzVkYjM5YzE3ZTc0OTZjMTYyOC90YWJsZXJhbmdlOmQxNTBjZTBhZDY2ZjQ3NWRiMzljMTdlNzQ5NmMxNjI4XzItMS0xLTEtMA_d011b5c9-cbfa-45fd-ac6b-1e738b5874f0"
      unitRef="usd">15500000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i78ecc67e6fe24326971fbaaabaadb923_D20191202-20191202"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTpkMTUwY2UwYWQ2NmY0NzVkYjM5YzE3ZTc0OTZjMTYyOC90YWJsZXJhbmdlOmQxNTBjZTBhZDY2ZjQ3NWRiMzljMTdlNzQ5NmMxNjI4XzItMy0xLTEtMA_0c002b12-3f11-4e8c-8c63-925587a86c01">P7Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i2d2b3e04e84d41cea6a2681701841662_D20191202-20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTpkMTUwY2UwYWQ2NmY0NzVkYjM5YzE3ZTc0OTZjMTYyOC90YWJsZXJhbmdlOmQxNTBjZTBhZDY2ZjQ3NWRiMzljMTdlNzQ5NmMxNjI4XzMtMS0xLTEtMA_ae0d5e0a-df1d-4525-af2d-e5a24e5fa500"
      unitRef="usd">200000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i2d2b3e04e84d41cea6a2681701841662_D20191202-20191202"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTpkMTUwY2UwYWQ2NmY0NzVkYjM5YzE3ZTc0OTZjMTYyOC90YWJsZXJhbmdlOmQxNTBjZTBhZDY2ZjQ3NWRiMzljMTdlNzQ5NmMxNjI4XzMtMy0xLTEtMA_6a6f9b48-b106-4560-8fda-2f523b9572cd">P2Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i26f070e1faec428695489e81e2a17383_D20191202-20191202"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTpkMTUwY2UwYWQ2NmY0NzVkYjM5YzE3ZTc0OTZjMTYyOC90YWJsZXJhbmdlOmQxNTBjZTBhZDY2ZjQ3NWRiMzljMTdlNzQ5NmMxNjI4XzQtMS0xLTEtMA_a9e473d5-9446-49b8-b5f9-b6302bc23df6"
      unitRef="usd">15700000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzgyNDYzMzcyMTE3MjI_18dc4c9e-a1d7-4d07-a828-41bf6c02499c"
      unitRef="usd">300000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzEwOTk1MTE2MzAwMjk_511ab7be-6dff-4699-954d-55b5268daeca"
      unitRef="usd">4000000.0</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <tenb:Expenserelatedtotheintercompanytransferofintellectualproperty
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzE0MzU_0ef31509-7524-4fa1-9f71-d7ca3683571a"
      unitRef="usd">2100000</tenb:Expenserelatedtotheintercompanytransferofintellectualproperty>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIyMjA_8e38164a-02a4-4ef5-89c3-dfb350b3a610">&lt;div style="margin-bottom:3pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill&#160;are 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2019&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital adjustment&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,414&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo4NTVlNGE0MTY2YWY0MzM1YTliZGU0ZmNiYTY4Y2E0Zi90YWJsZXJhbmdlOjg1NWU0YTQxNjZhZjQzMzVhOWJkZTRmY2JhNjhjYTRmXzEtMS0xLTEtMA_d3dc5482-8969-4118-a353-edd11a297066"
      unitRef="usd">54138000</us-gaap:Goodwill>
    <us-gaap:GoodwillPurchaseAccountingAdjustments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo4NTVlNGE0MTY2YWY0MzM1YTliZGU0ZmNiYTY4Y2E0Zi90YWJsZXJhbmdlOjg1NWU0YTQxNjZhZjQzMzVhOWJkZTRmY2JhNjhjYTRmXzItMS0xLTEtMA_6ae024b0-a83f-4f25-8c1c-0861b0c7fd39"
      unitRef="usd">276000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:Goodwill
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo4NTVlNGE0MTY2YWY0MzM1YTliZGU0ZmNiYTY4Y2E0Zi90YWJsZXJhbmdlOjg1NWU0YTQxNjZhZjQzMzVhOWJkZTRmY2JhNjhjYTRmXzMtMS0xLTEtMA_32844d22-d8db-4bf9-83c8-66559be27967"
      unitRef="usd">54414000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIyMjQ_cd11da31-3f2e-4fe7-85f8-02171fdec715">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets subject to amortization are 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;vertical-align:top;width:99.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.333%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,224)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,101&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,009)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,316&#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;/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:'Arial',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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(108)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,525&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,332)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,193&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,525&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,017)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,508&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if1cc2b1a7f0643ae9b6625b6d3b114e7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzItMS0xLTEtMA_f629c814-fd6e-4ea4-8cfb-d5975c2dd558"
      unitRef="usd">17325000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if1cc2b1a7f0643ae9b6625b6d3b114e7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzItMy0xLTEtMA_acfb55fb-6d5e-4666-808f-5d539a2efc13"
      unitRef="usd">4224000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if1cc2b1a7f0643ae9b6625b6d3b114e7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzItNS0xLTEtMA_dd116480-50f4-41a2-93e6-b62314f6f86d"
      unitRef="usd">13101000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ieda6c6fc210f4ab182768592cce6b775_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzItNy0xLTEtMA_4be7e315-219f-4bd8-892c-689fdfab006c"
      unitRef="usd">17325000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ieda6c6fc210f4ab182768592cce6b775_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzItOS0xLTEtMA_5510bd22-0326-4abe-8679-7ed3625060a2"
      unitRef="usd">2009000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ieda6c6fc210f4ab182768592cce6b775_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzItMTEtMS0xLTA_b365989c-4a2e-43f6-86c9-845d8d761125"
      unitRef="usd">15316000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7104e6feefb8440db5898ee664b05b63_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzMtMS0xLTEtMA_d77b516a-99f5-428e-967f-3f3d9737096d"
      unitRef="usd">200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7104e6feefb8440db5898ee664b05b63_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzMtMy0xLTEtMA_1f8ee178-4abe-48d3-b1b4-cd9716aea0dd"
      unitRef="usd">108000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7104e6feefb8440db5898ee664b05b63_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzMtNS0xLTEtMA_8ffd577c-3ed8-456f-abb7-92526ad3f988"
      unitRef="usd">92000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i17be1a0b42234695bfe1cb4faceb4c54_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzMtNy0xLTEtMA_47e7d3b5-b121-48e2-8d7d-fa9ea3727f05"
      unitRef="usd">200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i17be1a0b42234695bfe1cb4faceb4c54_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzMtOS0xLTEtMA_e52d59dc-49e9-46ec-a563-e3d16a57db16"
      unitRef="usd">8000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i17be1a0b42234695bfe1cb4faceb4c54_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzMtMTEtMS0xLTA_e370960a-c378-4b23-b9bc-a6f9be57de61"
      unitRef="usd">192000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzQtMS0xLTEtMA_6789bf32-9c7d-4094-b412-e4749ae0c69d"
      unitRef="usd">17525000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzQtMy0xLTEtMA_0c7386e8-4ab0-4893-9241-d23e33fb692e"
      unitRef="usd">4332000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzQtNS0xLTEtMA_94aa4442-1f6c-4af1-9e90-7c2088f1b24f"
      unitRef="usd">13193000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzQtNy0xLTEtMA_907acb5c-15b3-430f-8009-c94579c0b1eb"
      unitRef="usd">17525000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzQtOS0xLTEtMA_b6f7231f-9529-4565-9182-b0034046b630"
      unitRef="usd">2017000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTo5NTJhZjIyMTJiNDU0ODNjOGQ5MmUyYzQwYzdhMmZjYi90YWJsZXJhbmdlOjk1MmFmMjIxMmI0NTQ4M2M4ZDkyZTJjNDBjN2EyZmNiXzQtMTEtMS0xLTA_8f1b6287-f2cb-40d8-bda6-22d749e5156c"
      unitRef="usd">15508000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIxMDI_8f5d42d1-fbf0-4c84-bf3c-b284c127a8d2"
      unitRef="usd">2300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzMyOTg1MzQ4ODU1NTc_bd13a7c5-6e18-4834-9c36-da4e7fc8955d"
      unitRef="usd">600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzMyOTg1MzQ4ODU1NjY_b115da77-ff27-4c4c-bb64-871d91173a7f"
      unitRef="usd">600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90ZXh0cmVnaW9uOjY4MDc2OTkzMGQ4YTQwNTA4NzNlMTZkMmE3Yjc2NjFmXzIyMjE_85b6de99-da9a-4b15-8017-8ce12fc9ff51">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020, estimated future amortization of intangible assets 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,193&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzItMS0xLTEtMA_033edd93-a885-42c4-8a86-9c0634372665"
      unitRef="usd">2306000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzMtMS0xLTEtMA_3ab3d6a0-7621-4d2e-ba32-5c7d0c994379"
      unitRef="usd">2214000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzQtMS0xLTEtMA_cd3f8a50-7ddf-44f7-8f9b-a85233883814"
      unitRef="usd">2214000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzUtMS0xLTEtMA_72c8e7ae-228e-4ccd-ac7b-497056f20007"
      unitRef="usd">2214000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzYtMS0xLTEtMA_f1abd6f8-7b88-4edf-85ab-ab1785d64413"
      unitRef="usd">2214000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzctMS0xLTEtMA_ecc12010-c1d3-49c5-9fad-2db826851aae"
      unitRef="usd">2031000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTIvZnJhZzo2ODA3Njk5MzBkOGE0MDUwODczZTE2ZDJhN2I3NjYxZi90YWJsZTphNzY0MDQ1MTE5NTU0MTdkOTVjZTRhMTE2OTU2YTllNS90YWJsZXJhbmdlOmE3NjQwNDUxMTk1NTQxN2Q5NWNlNGExMTY5NTZhOWU1XzgtMS0xLTEtMA_ce8b6d8d-4c30-4c97-bd63-134eb4cd0952"
      unitRef="usd">13193000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzExNzY_d858a5a8-9d4f-4ed7-8555-9e0705a20baf">Leases&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have operating leases for office facilities and finance leases for computer and office equipment. Our leases have remaining terms of less than one year to just over eleven years, some of which include one or more options to renew, with renewal terms up to five years and some of which include options to terminate the leases within the next &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzM0MA_06a7a0f7-d1e7-4687-b170-c8c32fd38df2"&gt;one&lt;/span&gt; to four years. The ROU assets and liabilities at December 31, 2020 assume we exercise the option to early terminate one of our leases in 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,870&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,045&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,694&#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;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of ROU assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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 style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;649&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rent expense for short-term leases in 2020, 2019 and 2018 was not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.761%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.123%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.8%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;ROU assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2020, we received proceeds from lease incentives of $14.2&#160;million. The proceeds from lease incentives received are included with the change in the lease liabilities under the other current and noncurrent liabilities caption in the operating activities section of the statement of cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at December 31, 2020 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,478&#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;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,344&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzExNzk_af0d6cee-acdd-44e8-9ff6-86b3f100c738">Leases&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have operating leases for office facilities and finance leases for computer and office equipment. Our leases have remaining terms of less than one year to just over eleven years, some of which include one or more options to renew, with renewal terms up to five years and some of which include options to terminate the leases within the next &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzM0MA_06a7a0f7-d1e7-4687-b170-c8c32fd38df2"&gt;one&lt;/span&gt; to four years. The ROU assets and liabilities at December 31, 2020 assume we exercise the option to early terminate one of our leases in 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,870&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,045&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,694&#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;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of ROU assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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 style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;649&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rent expense for short-term leases in 2020, 2019 and 2018 was not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.761%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.123%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.8%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;ROU assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2020, we received proceeds from lease incentives of $14.2&#160;million. The proceeds from lease incentives received are included with the change in the lease liabilities under the other current and noncurrent liabilities caption in the operating activities section of the statement of cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at December 31, 2020 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,478&#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;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,344&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i8facab782ac24b86bea435adda7979fd_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzE2MQ_44248340-5566-4aee-b6bd-853b1285f3e6">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i4a385ff96f394ce4b045ba088c6b5101_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzE4Mg_0c05afea-ba9c-4130-b893-016d25ccd4ac">P11Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzI2Mw_341a3338-378d-4add-a874-381d0bfdd79d">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <tenb:LesseeOperatingLeaseOptionsToTerminate
      contextRef="i1375cfdd9e9e4060b48671c18d42705b_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzM0Ng_81663787-c9b4-4949-aef6-85d100161908">P4Y</tenb:LesseeOperatingLeaseOptionsToTerminate>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzExODA_9461a4cf-e818-4cf8-bbaf-c1a8528c17cb">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,870&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,045&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,694&#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;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of ROU assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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 style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;248&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;614&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;649&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.761%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.123%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2019&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.8%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.733%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;ROU assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzItMS0xLTEtMA_fbde5eed-c85f-4634-9bea-cc86408c709d"
      unitRef="usd">9870000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzItMy0xLTEtMA_03b7a8e8-667f-4ffd-8157-235d66abd6d7"
      unitRef="usd">6045000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzItNS0xLTEtMTM1Mg_d852aeca-3b15-4029-b83d-18dd1659fc78"
      unitRef="usd">3694000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzUtMS0xLTEtMA_0cc229cf-ade4-473c-a043-47b2bdfa251b"
      unitRef="usd">242000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzUtMy0xLTEtMA_c50e2b24-0abb-441f-9a93-e82928d9c335"
      unitRef="usd">607000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzUtNS0xLTEtMTM1Mg_2ceba757-cf0b-4f0c-8fd2-45ae650b062b"
      unitRef="usd">614000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzYtMS0xLTEtMA_685ac981-812e-4238-88d2-62cb477169e2"
      unitRef="usd">6000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzYtMy0xLTEtMA_e597acf5-9b6f-4efe-8da9-de18e789a27c"
      unitRef="usd">7000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzYtNS0xLTEtMTM1Mg_efffa984-fd0f-4e21-810e-07d007b9f5e5"
      unitRef="usd">35000</us-gaap:FinanceLeaseInterestExpense>
    <tenb:FinanceLeaseCost
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzctMS0xLTEtMA_cc6cefe4-58ea-4b6e-9fa1-e0c9a75fc761"
      unitRef="usd">248000</tenb:FinanceLeaseCost>
    <tenb:FinanceLeaseCost
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzctMy0xLTEtMA_7a076528-307f-4ee8-b8e6-d11c4ef227a8"
      unitRef="usd">614000</tenb:FinanceLeaseCost>
    <tenb:FinanceLeaseCost
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpmMGIyOTk1YTQ0ZTg0YzQ0OGE1MTI3NDIyNmI4ZDI3ZS90YWJsZXJhbmdlOmYwYjI5OTVhNDRlODRjNDQ4YTUxMjc0MjI2YjhkMjdlXzctNS0xLTEtMTQ1MQ_49cc1118-5208-44f8-942f-ec473f0bb0ab"
      unitRef="usd">649000</tenb:FinanceLeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTplNTJlOThjODk4YWM0OGU3YjAyYTZkODEzZTQzNWNmYS90YWJsZXJhbmdlOmU1MmU5OGM4OThhYzQ4ZTdiMDJhNmQ4MTNlNDM1Y2ZhXzItMS0xLTEtMA_08331cd6-b8d6-44bc-9f46-f754bcf926f3">P10Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTplNTJlOThjODk4YWM0OGU3YjAyYTZkODEzZTQzNWNmYS90YWJsZXJhbmdlOmU1MmU5OGM4OThhYzQ4ZTdiMDJhNmQ4MTNlNDM1Y2ZhXzItMy0xLTEtMA_cd1debf6-925f-4e02-a9d1-034d0c6a1a12">P10Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTplNTJlOThjODk4YWM0OGU3YjAyYTZkODEzZTQzNWNmYS90YWJsZXJhbmdlOmU1MmU5OGM4OThhYzQ4ZTdiMDJhNmQ4MTNlNDM1Y2ZhXzMtMS0xLTEtMA_cd9b98d8-7403-4069-af43-d5584f8d4e8a"
      unitRef="number">0.056</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTplNTJlOThjODk4YWM0OGU3YjAyYTZkODEzZTQzNWNmYS90YWJsZXJhbmdlOmU1MmU5OGM4OThhYzQ4ZTdiMDJhNmQ4MTNlNDM1Y2ZhXzMtMy0xLTEtMA_3c2a0a8f-6021-4796-b7f5-cfae445daf6e"
      unitRef="number">0.058</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpjMTc0NGJhMDk3NzQ0OWQ2ODc3NjVkMjg2Mzk4NzFlYy90YWJsZXJhbmdlOmMxNzQ0YmEwOTc3NDQ5ZDY4Nzc2NWQyODYzOTg3MWVjXzctMS0xLTEtMA_01f02fda-6425-47a3-b2cb-fedc0a5dacfc"
      unitRef="usd">3188000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpjMTc0NGJhMDk3NzQ0OWQ2ODc3NjVkMjg2Mzk4NzFlYy90YWJsZXJhbmdlOmMxNzQ0YmEwOTc3NDQ5ZDY4Nzc2NWQyODYzOTg3MWVjXzctMy0xLTEtMA_413341fa-0208-4af2-b635-5ce41a208aa2"
      unitRef="usd">39170000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpjMTc0NGJhMDk3NzQ0OWQ2ODc3NjVkMjg2Mzk4NzFlYy90YWJsZXJhbmdlOmMxNzQ0YmEwOTc3NDQ5ZDY4Nzc2NWQyODYzOTg3MWVjXzctNS0xLTEtMTM4Mw_2e70fe95-e9cd-47fe-b431-95a36c65fb96"
      unitRef="usd">1525000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpjMTc0NGJhMDk3NzQ0OWQ2ODc3NjVkMjg2Mzk4NzFlYy90YWJsZXJhbmdlOmMxNzQ0YmEwOTc3NDQ5ZDY4Nzc2NWQyODYzOTg3MWVjXzgtMS0xLTEtMA_4f59bf98-e7e5-436e-8fc6-4839efd01140"
      unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpjMTc0NGJhMDk3NzQ0OWQ2ODc3NjVkMjg2Mzk4NzFlYy90YWJsZXJhbmdlOmMxNzQ0YmEwOTc3NDQ5ZDY4Nzc2NWQyODYzOTg3MWVjXzgtMy0xLTEtMA_80aba51e-e09b-455d-8bbc-7ac690aed531"
      unitRef="usd">11000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTpjMTc0NGJhMDk3NzQ0OWQ2ODc3NjVkMjg2Mzk4NzFlYy90YWJsZXJhbmdlOmMxNzQ0YmEwOTc3NDQ5ZDY4Nzc2NWQyODYzOTg3MWVjXzgtNS0xLTEtMTM4Mw_115ea05f-fd2f-463d-a5bb-b70041f87bf3"
      unitRef="usd">15000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <tenb:ProceedsFromTenantIncentives
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzE2NDkyNjc0NDcxMjU_3ae6db7d-b45f-4438-be68-fd9dcde4343d"
      unitRef="usd">14200000</tenb:ProceedsFromTenantIncentives>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90ZXh0cmVnaW9uOjRhYWEwMjNhNjE3ODQ0MjdhM2RlZTY3ODAzZjZhMTQ0XzExNzU_1e049fbf-7b84-4e11-87a5-9147448ac157">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at December 31, 2020 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,478&#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;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,134)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,344&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzItMS0xLTEtMA_d5d620b3-555f-4900-8f40-b7c294c0dae1"
      unitRef="usd">3891000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzMtMS0xLTEtMA_1d3ade9f-3d62-4dad-a8d7-c533c9e5baea"
      unitRef="usd">8050000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzQtMS0xLTEtMA_5f8572b2-3e99-472c-93df-2a79b3f689d6"
      unitRef="usd">7711000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzUtMS0xLTEtMA_dedcae7b-8ed5-4daa-9629-1d46268ce7d9"
      unitRef="usd">7866000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzYtMS0xLTEtMA_3535031d-4d22-4089-b09d-07582f34c7c2"
      unitRef="usd">7435000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzctMS0xLTEtMA_6b033cf6-1f89-498c-be7f-ff552d3ed91b"
      unitRef="usd">44525000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzgtMS0xLTEtMA_ce16c85d-cea8-470d-9d9b-65de94dc066a"
      unitRef="usd">79478000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzktMS0xLTEtMA_4e858c6a-ef01-43ec-b4d4-1487d8e8ccec"
      unitRef="usd">21134000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMTgvZnJhZzo0YWFhMDIzYTYxNzg0NDI3YTNkZWU2NzgwM2Y2YTE0NC90YWJsZTo2YjY0OGFkMmQ2YmQ0NmJiODAxYWVmNDY0N2YxOGVmZC90YWJsZXJhbmdlOjZiNjQ4YWQyZDZiZDQ2YmI4MDFhZWY0NjQ3ZjE4ZWZkXzExLTEtMS0xLTA_b4895888-b9c2-4d7a-ac9d-2afc07cc3ecb"
      unitRef="usd">58344000</us-gaap:OperatingLeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzE2Mjc_fef87f27-0730-4179-a509-4153b6984a43">Debt &lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2020, we entered into a new $45.0 million senior secured credit facility ("2020 Credit Facility") with Silicon Valley Bank in connection with the expiration of our $25.0 million revolving credit facility ("2017 Credit Facility"). The 2020 Credit Facility bears interest at either LIBOR plus 2%, with a 1% LIBOR floor, or the base rate plus 1%, and terminates on July 24, 2022. A commitment fee of 0.35% per annum is payable quarterly in arrears based on the unused portion. The obligations under 2020 Credit Facility are secured by a lien on our tangible and intangible property except intellectual property and certain subsidiaries and by a pledge of all of the equity interests of the Company's material direct and indirect domestic subsidiaries and 65% of each class of capital stock of any material first-tier foreign subsidiaries, subject to limited exceptions. The 2020 Credit Facility includes a $45.0 million uncommitted expansion, as well as a $10.0 million sublimit for the issuance of letters of credit and a swingline sub-facility of up to $10.0 million, and has a financial covenant requiring a minimum consolidated quick ratio of at least 1.5:1.0 on the last day of each quarter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2020 and 2019, there were no amounts outstanding under our 2020 Credit Facility or, prior to its expiration, the 2017 Credit Facility. At December 31, 2020, we were in compliance with the financial covenant and our borrowing capacity was reduced by $5.5 million related to standby letters of credit.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i126010efc6f54a978b020ba15223c50d_I20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEwOTk1MTE2Mjk0ODQ_bc091368-9f5a-40ac-90ea-973041739ec3"
      unitRef="usd">45000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i15b2633492e640aaaba022103c7d6cc4_I20170504"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzQ4_5498109a-1d62-4c0b-8c94-ff7d25b43be4"
      unitRef="usd">25000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i5468c1c127da4f659a45da6d4e2c5314_D20200724-20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzMzNw_f8da6298-fbd7-4a26-9b8e-bbd253ae59a5"
      unitRef="number">0.02</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <tenb:DebtInstrumentBasisSpreadonVariableRateVariableRateFloor
      contextRef="i9df84ae561234b92a6a571cf1cffd485_D20200724-20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEwOTk1MTE2MzAwMjA_411a01b9-facb-4efe-aa49-1776895388f7"
      unitRef="number">0.01</tenb:DebtInstrumentBasisSpreadonVariableRateVariableRateFloor>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i201fd1635f6c4666a1a09c99470649ad_D20200724-20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzM3Mw_b403ffc8-2db4-4902-ba67-cee537caa0e6"
      unitRef="number">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i03fcad7c660b44c29934887452c56af7_D20200724-20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzQxOA_1e7a88bd-3236-40e7-b3fa-2a6775d572f8"
      unitRef="number">0.0035</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <tenb:EachTypeOfCapitalStockOfFirstTierForeignSubsidiariesPercent
      contextRef="i5b4eae3254794d49897f76777a569cbc_I20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzM4NDgyOTA3MDMxODA_8d1a6424-3a9f-4a22-a35b-971b0f7bf164"
      unitRef="number">0.65</tenb:EachTypeOfCapitalStockOfFirstTierForeignSubsidiariesPercent>
    <tenb:LineofCreditAccordionFeatureIncreaseLimit
      contextRef="i126010efc6f54a978b020ba15223c50d_I20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEwOTk1MTE2MzAzMDA_67efc9bb-0265-47c7-aacd-1506ec3a5a49"
      unitRef="usd">45000000.0</tenb:LineofCreditAccordionFeatureIncreaseLimit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ib47c2ac2a40d4183a1daef885570d12e_I20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEwOTk1MTE2MzAzMzk_6d19bb73-b8e8-49ce-8dea-b9cd7b3e5707"
      unitRef="usd">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="idb547dcf4d644092a5a22849154ac690_I20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEwOTk1MTE2MzA0Mjc_df7689cb-1a55-42bd-bee2-d8520e1489d5"
      unitRef="usd">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <tenb:DebtInstrumentCovenantQuickRatioRequiredMinimum
      contextRef="i5b4eae3254794d49897f76777a569cbc_I20200724"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzU0OTc1NTgxNDM3ODU_91c63c69-0f99-4f01-a123-f2bd89435cdc"
      unitRef="number">1.5</tenb:DebtInstrumentCovenantQuickRatioRequiredMinimum>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEyMDc_bfa8c9bb-c226-44f7-87ea-faf6fa854048"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <tenb:LineOfCreditFacilityAmountOutstandingRequiringCovenantCompliance
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMjQvZnJhZzo4OTEwMTVlMjhiN2Y0Y2YzOTIyOTFhZDU3MjQ3ZGIwYy90ZXh0cmVnaW9uOjg5MTAxNWUyOGI3ZjRjZjM5MjI5MWFkNTcyNDdkYjBjXzEwOTk1MTE2MzI0Njc_6484728a-f894-4bb2-9cca-2f382b32a7db"
      unitRef="usd">5500000</tenb:LineOfCreditFacilityAmountOutstandingRequiringCovenantCompliance>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzE5MDc_571f33ba-908b-4400-8473-f479e255a360">Redeemable Convertible Preferred Stock and Common Stock&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Redeemable Convertible Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2012, Tenable, Inc. (now a wholly owned subsidiary of Tenable Holdings, Inc.) issued 15,847,500 shares of Series A redeemable convertible preferred stock. In December 2015, we issued 15,847,500 shares, par value of $0.01, of Series A redeemable convertible preferred stock ("Series A") in exchange for Series A redeemable convertible preferred stock of Tenable, Inc. in connection with a recapitalization. This exchange was made on a one for one basis. In addition, we authorized 42,000,000 shares and issued 39,538,354 shares, par value of $0.01, of Series B redeemable convertible preferred stock ("Series B"). Upon completion of our IPO, Series A and Series B (together, the &#x201c;Redeemable Convertible Preferred Stock&#x201d;) automatically converted into an aggregate of&#160;55,385,854 shares&#160;of our common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We accreted the Redeemable Convertible Preferred Stock to the redemption price at the redemption date using the effective interest method. Upon completion of our IPO, the accretion rights of the Redeemable Convertible Preferred Stock were terminated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the completion of our IPO, we filed an Amended and Restated Certificate of Incorporation, authorizing a total of&#160;500,000,000 shares&#160;of common stock and&#160;10,000,000 shares&#160;of preferred stock. There were no shares of preferred stock issued or outstanding at December 31, 2020 or 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The voting, dividend, and liquidation rights of common stockholders are subject to, and qualified by, the rights of preferred stockholders. The common stockholders are entitled to receive dividends when, as and if, declared by the Board of Directors, subject to preferential dividend rights of preferred stockholders. Upon dissolution or liquidation, our common stockholders will be entitled to receive all assets available for distribution to stockholders, subject to any preferential rights of preferred stockholders.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i6454627eb7854eabaa4e61fdb9de9ecb_D20121001-20121031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzE5OQ_e1852c0e-f316-47e5-bfd7-82556f54f8fc"
      unitRef="shares">15847500</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i11334bb9ce6b42c1a65c821d07c1ae3a_D20151201-20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzI4OQ_30157e81-92cd-4b76-aeac-7fc45446f1d1"
      unitRef="shares">15847500</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:TemporaryEquityParOrStatedValuePerShare
      contextRef="i0f79a29c6cfa43d59dfda986a6dd802e_I20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzMxMw_4a065cc6-e128-4aea-9fc9-d69539ccd924"
      unitRef="usdPerShare">0.01</us-gaap:TemporaryEquityParOrStatedValuePerShare>
    <tenb:StockholdersEquityRedeemableConvertibleStockConversionRatio
      contextRef="i49af277fd58e4f9d9d0e04dcbc698a64_I20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzUyOQ_759467a9-5443-4c96-9f8d-dca782552fb8"
      unitRef="number">1</tenb:StockholdersEquityRedeemableConvertibleStockConversionRatio>
    <us-gaap:TemporaryEquitySharesAuthorized
      contextRef="ia5238d341a9843eca70f734012915269_I20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzU3NA_5e593b11-b8e1-43d3-b152-4dc68efc7e9f"
      unitRef="shares">42000000</us-gaap:TemporaryEquitySharesAuthorized>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="if9d7f05b7f4d4579967b4eca53b500c2_D20151201-20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzU5NQ_eb38117f-a3e9-42c6-a885-974127d064eb"
      unitRef="shares">39538354</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:TemporaryEquityParOrStatedValuePerShare
      contextRef="ia5238d341a9843eca70f734012915269_I20151231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzYxOQ_b7a7ef15-746a-4248-b9d6-f10ec20da685"
      unitRef="usdPerShare">0.01</us-gaap:TemporaryEquityParOrStatedValuePerShare>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i84fcc29bb392469995181033a703db21_D20180730-20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3Xzg0MA_08bce550-29e6-4aed-a912-639c9801be86"
      unitRef="shares">55385854</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i14da34c659a4437388d66aec70adf10e_I20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzEyNDA_39c17e59-73be-411b-a0c0-d6b9bde8e0fe"
      unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i14da34c659a4437388d66aec70adf10e_I20180730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzEyNzA_7952f40d-ffd1-44ae-b500-a2313da7c17f"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzEzMTE_5726ca0d-7038-4e25-bd7e-8805753821b2"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzEzMTE_638771d5-a8de-4caf-938c-a2c68833c3dd"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzEzMTE_a34c23cd-d956-4779-96a1-30dc6eed15a0"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzAvZnJhZzo3ODA5M2M1ZDExNDI0MGJkYTY5MTQwOWU4MTZmNzNhNy90ZXh0cmVnaW9uOjc4MDkzYzVkMTE0MjQwYmRhNjkxNDA5ZTgxNmY3M2E3XzEzMTE_ac5f5f5e-e198-4ff9-9551-97ff607cc890"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY5NzM_7997bccf-f44d-4d34-a575-9f211782956d">Stock-Based Compensation&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2018, our Board of Directors adopted, and our stockholders approved, our 2018 Equity Incentive Plan ("2018 Plan"). Under the evergreen provision in the 2018 Plan, in January 2020 we reserved an additional 4,929,361 shares of our common stock. At December 31, 2020, there were 17,766,262 shares available for grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense included in the consolidated statements of operations was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,158&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,817&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,707&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,842&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,032&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,911&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,794&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,911&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,804&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,779&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,683&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,453&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,573&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;div style="padding-left:2.25pt;text-align:right"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,443&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;div style="padding-left:2.25pt;text-align:right"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,875&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At&#160;December 31, 2020, the unrecognized stock-based compensation expense related to unvested RSUs was $107.5 million, which is expected to be recognized over an estimated weighted average remaining period of&#160;2.8 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020, the unrecognized stock-based compensation expense related to outstanding stock options was $10.4 million, which is expected to be recognized over an estimated remaining weighted average period of 1.3 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At&#160;December 31, 2020, the unrecognized stock-based compensation expense related to unvested awards of restricted stock was immaterial.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock and RSUs&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our restricted stock and RSU activity is presented below:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Restricted Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for per share data)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;of Shares&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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,583&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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;/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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,200&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(693)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(71)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;890&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,715&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(479)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,570&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,504)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(470)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,490&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RSUs granted under our stock incentive plans generally vest over a period of &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2MzgxNTk_9ebe543c-13d8-4803-8f0b-58dce03c2011"&gt;two&lt;/span&gt; to four years. RSUs granted before July 30, 2018 vest upon the satisfaction of both service-based and performance-based vesting conditions. The performance-based condition was satisfied upon the completion of our IPO. RSUs granted after July 30, 2018 vest upon the satisfaction of a service-based vesting condition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our stock option activity is below:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.597%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for per share data and years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;of Shares&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-Average Remaining Contractual Term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&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 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,573&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.38&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,020&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,108&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(740)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,902&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(722)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,219&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,114&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,205)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,378&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,075)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,939&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201,608&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 0 1pt"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,956)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.34&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,277&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(542)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.80&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,441&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.56&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,547&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,189&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.53&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283,024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020, there were 9.4 million stock options outstanding that were vested and expected to vest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock options granted under our stock incentive plans have a maximum term of ten years, generally vest over a period of &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2Mzg0OTI_d71329c3-4eb5-4462-bf76-150e3395bff9"&gt;three&lt;/span&gt; to four years, and the exercise price cannot be less than the fair market value on the date of grant. In 2018, we granted stock options to employees that had a per share weighted average grant date fair value of $6.84. Estimating the fair value of stock options using the Black-Scholes option-pricing model requires assumptions as to the estimated term of the option, the risk-free interest rate, the expected volatility of the price of our common stock, the expected dividend yield, and the fair value of our underlying common stock prior to our IPO. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value of Common Stock. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Following our IPO, we use the market price of our common stock at the date of grant. Prior to our IPO, the lack of an active public market for our common stock required an estimate of the fair value of the common stock for granting stock options and restricted shares, and for determining stock-based compensation expense. Contemporaneous third-party valuations were obtained to assist in determining the fair value of our common stock. The contemporaneous valuations were performed in accordance with applicable methodologies, approaches and assumptions of the technical practice-aid issued by the American Institute of Certified Public Accountants Practice Aid entitled&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;Valuation of Privately-Held&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Company Equity Securities Issued as Compensation.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected Term. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;This is the period of time that the options granted are expected to remain unexercised. We employ the simplified method to calculate the average expected term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected Volatility. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Volatility is a measure of the amount by which a financial variable, such as a share price, has fluctuated (historical volatility) or is expected to fluctuate (expected volatility) during a period. We have identified several public entities of similar size, complexity, and stage of development and estimate our volatility based on the volatility of the common stock of these companies.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Risk-Free Interest Rate. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;This is the U.S. Treasury rate, having a term that most closely resembles the expected life of the stock option.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected Dividend Yield. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have never declared or paid dividends and have no plans to do so in the foreseeable future.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option was estimated on the grant date based on 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31, 2018&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:'Arial',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:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.3&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:'Arial',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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.3% &#x2014; 43.3%&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:'Arial',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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.7% &#x2014; 2.9%&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected forfeiture rate&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:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;2018 Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2018, our board of directors adopted, and our stockholders approved, our 2018 ESPP. Under the evergreen provision, in January 2020 we reserved an additional 1,478,808 shares of our common stock for issuance. At December 31, 2020, there were 5,431,176 shares reserved for issuance under the 2018 ESPP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under our 2018 ESPP, employees may set aside up to&#160;15%&#160;of their gross earnings, on an after-tax basis, to purchase our common stock at a discounted price, which is calculated at&#160;85%&#160;of the lower of the fair market value of our common stock on the first day of an offering or on the date of purchase.&#160;The 2018 ESPP permits offerings up to 27 months in duration, with one or more purchase periods in each offering. Additionally, in cases where the fair market value of a share of our common stock on the first day of a new purchase period within an offering is less than or equal to the fair market value of a share of our common stock at the beginning of the offering, that offering will be terminated and participants will be automatically enrolled in a new offering with a new 24-month duration with purchase periods every six months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2020, employees purchased 667,719 shares of our common stock at a weighted average price of $19.53 per share, resulting in $13.0 million of cash proceeds. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2019, employees purchased 776,809 shares of our common stock at a weighted average price of $19.48 resulting in $15.1 million of cash proceeds.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020 and 2019 there was $6.5 million and $5.4 million, respectively, of employee contributions to the 2018 ESPP included in accrued compensation. At December 31, 2020, the unrecognized stock-based compensation expense related to our 2018 ESPP was $4.1 million, which is expected to be recognized over the remaining weighted average period of 0.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the 2018 ESPP purchase rights was estimated on the offering or modification dates using a Black-Scholes option-pricing model and the following assumptions:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.124%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.6 &#x2014; 2.1&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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.6% &#x2014; 60.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.4% &#x2014; 44.6%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.9% &#x2014; 33.5%&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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1% &#x2014; 0.9%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.5% &#x2014; 2.5%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.3% &#x2014; 2.7%&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i8ac1700ce7f24928b30b1de99b8edea5_I20200101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzExMjY_0623c3ae-9e57-4bb1-9919-6a6e5557c712"
      unitRef="shares">4929361</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="ibb33239d3a6f4ca2ad169bb40acbb720_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzExOTE_59b7035c-8e48-43ca-ac0b-088d0562b365"
      unitRef="shares">17766262</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY5NjI_5970f589-dd70-42af-bc93-5dfde57a929d">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense included in the consolidated statements of operations was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,158&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,817&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,707&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,842&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,032&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,911&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,794&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,911&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,804&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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,779&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,683&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,453&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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,573&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;div style="padding-left:2.25pt;text-align:right"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,443&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;div style="padding-left:2.25pt;text-align:right"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,875&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5fe6bcaadf1c44f68bfbbe8a886043ea_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzItMS0xLTEtMA_24e5db11-dcb2-4ad2-be50-ff6db9894842"
      unitRef="usd">3158000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id9a9cae515004e67b93e52c9f5f0756e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzItMy0xLTEtMA_2a6781d9-a7f6-4ab8-a1d7-aa8570a081f1"
      unitRef="usd">2817000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="idcdda52b336747e6b857b67a6f14c5a4_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzItNS0xLTEtMA_a0a6576b-ba2c-4ba7-8fac-1f578b6ddae2"
      unitRef="usd">1707000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iff05c578be81456cabe8d63b3b3fd684_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzMtMS0xLTEtMA_4274310a-d385-4066-9a19-291ee57cabee"
      unitRef="usd">19842000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iced4abada84748718d5e3b3571d3333b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzMtMy0xLTEtMA_b30670b1-5451-45d1-b8cd-709322d4fd17"
      unitRef="usd">16032000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iae06a667f1e247e58307f8217024c44e_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzMtNS0xLTEtMA_ddff2abb-3b75-4859-a94c-eddbf06ab39e"
      unitRef="usd">6911000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="idfd86c1c9b61495f824cb0ac2d35914f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzQtMS0xLTEtMA_5cf5a2b6-6f9e-4133-9038-ed0f188b0028"
      unitRef="usd">14794000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i97c6baefcf2942e6ac186940d734fb48_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzQtMy0xLTEtMA_56daf14d-c94b-4330-a18e-73ef3681c74d"
      unitRef="usd">8911000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if1d0d048cd7447b6a35163f87efd8fc3_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzQtNS0xLTEtMA_b14a012c-cc71-409b-a213-7c53fcdf64d0"
      unitRef="usd">5804000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if3f085ae0eab4cdf80707ceb6e438ba0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzUtMS0xLTEtMA_17af44aa-971b-4fef-8fac-ccae482fd6a9"
      unitRef="usd">21779000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7545d734c590437fa2b9054bdf48c2f1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzUtMy0xLTEtMA_8907d45c-f119-40e1-bdb1-d0393895b06f"
      unitRef="usd">15683000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id406b37736274d7d9228fea9b16aaa09_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzUtNS0xLTEtMA_e7dfdf4e-30b3-4c72-bd43-259a121c45bb"
      unitRef="usd">8453000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzYtMS0xLTEtMA_763b4508-d3ff-4e96-a315-991d5311e8b2"
      unitRef="usd">59573000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzYtMy0xLTEtMA_453e0963-a0a7-452a-bdb5-d2f3f6786b47"
      unitRef="usd">43443000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo4ZWYyMjg5MTA3OGQ0YWIwOTczNjkyYzQwZDJjOWNlYy90YWJsZXJhbmdlOjhlZjIyODkxMDc4ZDRhYjA5NzM2OTJjNDBkMmM5Y2VjXzYtNS0xLTEtMA_a3263987-f57e-43ad-afd2-dae8db7d962f"
      unitRef="usd">22875000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i26fa5e36ab544d718be6ee5cfa4ef375_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2MzUwNjg_c799c6c9-3fa1-4987-9050-e44259e27564"
      unitRef="usd">107500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2MzUxNDY_4b47cace-16c4-42e3-9b94-494df064cc93">P2Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzE0MzM_6ed3f954-a6b7-4e75-90c1-1abbb0a2ee02"
      unitRef="usd">10400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ie1e83109239d486b97633d1909a49571_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzE1Mjc_1258b6a8-45c2-4a7d-9b7b-986d7c5655d4">P1Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzYwNDczMTM5NjIxOTU_e2e9bb1c-5464-4fec-af3a-a8c0ef2da638">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our restricted stock and RSU activity is presented below:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Restricted Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for per share data)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;of Shares&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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,583&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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;/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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,200&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(693)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(71)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;890&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,715&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(479)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,570&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,504)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(470)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,490&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i17b2780b14454735b2174b70041d0ee7_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzItMS0xLTEtMTgyOA_07b2ecab-040f-4dcb-9504-3d2026f0ec8a"
      unitRef="shares">1583000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i17b2780b14454735b2174b70041d0ee7_I20171231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzItMy0xLTEtMTgyOA_2cd3668d-5c10-43d3-b7ce-20e1cb2f8bef"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ie1140c7a8a724f8ca013e047bc480678_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzItNS0xLTEtMTgyOA_a95c9a1f-dd40-44e8-a134-fc197d874693"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie1140c7a8a724f8ca013e047bc480678_I20171231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzItNy0xLTEtMTgyOA_8c5e43d1-e155-4a9b-b6b1-a723ca73aa14"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzMtMS0xLTEtMTgyOA_285765c8-f794-4ed7-b167-5adad9b60d00"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzMtMy0xLTEtMTgyOA_c4dcad1a-39dc-4d11-a4ff-2706979cf96e"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzMtNS0xLTEtMTgyOA_4d70f0d4-7a4c-4a0a-be28-cb4adfb7b433"
      unitRef="shares">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzMtNy0xLTEtMTgyOA_7ffa939d-8545-4a71-ae75-1e67f897f6b4"
      unitRef="usdPerShare">18.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzQtMS0xLTEtMTgyOA_74c8b53d-26af-4403-9311-9f907db707ed"
      unitRef="shares">693000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzQtMy0xLTEtMTgyOA_33909d7a-a94a-4dcc-bc01-9650d82d5573"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzQtNS0xLTEtMTgyOA_0378006a-890a-488f-aa3b-02b4bc223dce"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzQtNy0xLTEtMTgyOA_88e74deb-4bab-4d0b-a3b5-ccb2459ca175"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzUtMS0xLTEtMTgyOA_0af4c350-1f3c-401c-b573-e3dfaa2291fe"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="id75d859d101a43fba6d5718bc35334bf_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzUtMy0xLTEtMTgyOA_fabc9931-5ee5-4e2e-93bd-c40201893dcc"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzUtNS0xLTEtMTgyOA_804ffe4a-b918-4c6d-b7e8-6208ab802687"
      unitRef="shares">71000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i6ac7348da5df457b9c3c64dc519591c3_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzUtNy0xLTEtMTgyOA_b68914fb-1d41-46af-86ab-d3962902b68a"
      unitRef="usdPerShare">16.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzYtMS0xLTEtMjE5MQ_6ae999ed-5273-46f9-b523-cffee575d635"
      unitRef="shares">890000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i1fd45200c490485794569476d5f7af17_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzYtMy0xLTEtMTgyOA_8f89c6d2-9698-426e-bdc4-bc4c9932bf2f"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iaf66004484c74020ac45023808ec8c12_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzYtNS0xLTEtMjE5Mw_32a809b3-7eca-4311-9b9f-02f397e7d2c1"
      unitRef="shares">1129000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iaf66004484c74020ac45023808ec8c12_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzYtNy0xLTEtMTgyOA_90b1eb62-4325-496a-befb-f6455d430c1d"
      unitRef="usdPerShare">18.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzctMS0xLTEtMTgyOA_e422482d-a5b3-45f1-a80a-ee72be9628a6"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzctMy0xLTEtMTgyOA_38176b79-5685-4561-b80d-03b54686f509"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzctNS0xLTEtMTgyOA_b5ecc176-71ae-4719-8794-64e336265b2f"
      unitRef="shares">2715000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzctNy0xLTEtMTgyOA_515d0e59-ad78-40dd-9c54-9cfbe5ef8c87"
      unitRef="usdPerShare">27.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzgtMS0xLTEtMTgyOA_4e83e3a6-ee54-43e5-9cb2-4c948283bf66"
      unitRef="shares">395000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzgtMy0xLTEtMTgyOA_e1dc6a16-0b40-4e56-a66e-35d827f3fe79"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzgtNS0xLTEtMTgyOA_733f6a06-7298-437c-b269-2504c30bdd7a"
      unitRef="shares">479000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzgtNy0xLTEtMTgyOA_68992239-d5c1-4438-96cf-138427118567"
      unitRef="usdPerShare">18.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzktMS0xLTEtMTgyOA_992b6f04-7ad3-49d4-8a3c-a2ea0bb3d44f"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="id28a0c0d8be04ac4a42ae4b2a8f71ee6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzktMy0xLTEtMTgyOA_dabaa8bf-6b66-4c64-b741-deb7680b207c"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzktNS0xLTEtMTgyOA_aa22b8a8-2097-441d-a67e-9ac9d475862f"
      unitRef="shares">471000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i1fc7412232f242deb502d459e421c8ab_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzktNy0xLTEtMTgyOA_94ded373-1425-4d92-a6e6-cdae84afab33"
      unitRef="usdPerShare">25.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEwLTEtMS0xLTIxOTU_3c9ab471-974c-4ec4-b415-5a77f445a3bd"
      unitRef="shares">495000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="idba3f0f355ca4e839d66347a6ea1f6be_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEwLTMtMS0xLTE4Mjg_6ed674f4-5f5c-4f8e-a9ed-5e89616641d8"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i87615f8ff795429eb733d2bea1ea8bb3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEwLTUtMS0xLTIxOTY_bd6828bf-dbd2-446f-b80d-95b56ec80f7a"
      unitRef="shares">2894000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i87615f8ff795429eb733d2bea1ea8bb3_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEwLTctMS0xLTE4Mjg_d950918b-440c-4807-a878-1a4620ede5a0"
      unitRef="usdPerShare">26.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzExLTEtMS0xLTE4Mjg_d274f5fe-36ba-4e25-ae8c-185ce5ec1b23"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzExLTMtMS0xLTE4Mjg_85e4dfc1-fac0-4654-886e-a0973664daea"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzExLTUtMS0xLTE4Mjg_37340d0b-cb12-4eeb-9929-d813e5adebb9"
      unitRef="shares">3570000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzExLTctMS0xLTE4Mjg_692f086e-8539-41bc-9996-4c0833a685c0"
      unitRef="usdPerShare">28.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEyLTEtMS0xLTE4Mjg_8014355e-94e8-483e-a722-cbdd9cd5be56"
      unitRef="shares">396000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEyLTMtMS0xLTE4Mjg_bbc0914f-2ecf-47d8-9c00-3bf9d4d27024"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEyLTUtMS0xLTE4Mjg_efa56550-f7b8-47c1-9e05-c55bc941b31c"
      unitRef="shares">1504000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEyLTctMS0xLTE4Mjg_98e168f0-f046-4dea-945d-5414dc2c91ec"
      unitRef="usdPerShare">25.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEzLTEtMS0xLTE4Mjg_cf567aaf-7eab-4d5b-a095-73825deb516e"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i38e2419245024a3bbc4aeea9cebd7fa3_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEzLTMtMS0xLTE4Mjg_196fbd57-f4c7-4f91-a606-b96c0a65de04"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEzLTUtMS0xLTE4Mjg_492780ef-f8d3-424c-8fea-e30ad3b790ac"
      unitRef="shares">470000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i699f336345ae463fb521f78922569183_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzEzLTctMS0xLTE4Mjg_518f2d7c-55f7-4973-84ce-90943f74ac06"
      unitRef="usdPerShare">26.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzE0LTEtMS0xLTIxOTc_9e9befe6-006f-4f8f-82d1-eb2e000019cf"
      unitRef="shares">99000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iab682564f0a043f48db28c0809870451_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzE0LTMtMS0xLTE4Mjg_80d36bfe-b76e-4891-8929-b2a75e3bc5a8"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i26fa5e36ab544d718be6ee5cfa4ef375_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzE0LTUtMS0xLTIxOTc_1fb22778-4c15-48e1-914d-f19ef35b0afe"
      unitRef="shares">4490000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i26fa5e36ab544d718be6ee5cfa4ef375_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmMWU1MDgzNDJhMGQ0MTFmOGJjYWFjNjliMTI5NTk3Zi90YWJsZXJhbmdlOmYxZTUwODM0MmEwZDQxMWY4YmNhYWM2OWIxMjk1OTdmXzE0LTctMS0xLTE4Mjg_f482917f-91a6-4a0c-8416-a59572e3057a"
      unitRef="usdPerShare">28.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="idb2132565e8742439998a0c199f67ab7_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2MzgxNjY_81ab4c05-ae69-4cef-8f40-e37c09721543">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY5Njk_d44eb809-632a-4fe5-815b-2a55a19c07ee">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our stock option activity is below:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.772%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.594%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.597%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for per share data and years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;of Shares&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-Average Remaining Contractual Term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&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 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,573&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.38&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,020&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,108&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(740)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,902&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(722)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,219&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,114&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,205)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,378&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,075)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,939&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201,608&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 0 1pt"/&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,956)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.34&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,277&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 style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(542)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.80&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,441&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.56&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,547&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,189&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.53&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283,024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEtMS0xLTEtMA_af4e77c3-3b71-4363-a4b7-49b60b784d16"
      unitRef="shares">14573000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEtMy0xLTEtMA_3530dbe9-c69c-464f-be64-041afa8496ac"
      unitRef="usdPerShare">4.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i94cfb715c34d40a798a95d1eb7dde000_D20170101-20171231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEtNS0xLTEtMA_feca28a4-1afc-4ff7-b8be-7d0f152cec3e">P8Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEtNy0xLTEtMA_9a7c28f5-cafc-4d33-b696-c47f0f50608b"
      unitRef="usd">77020000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzItMS0xLTEtMA_58564ac6-4874-4d38-b4b3-f974954ef6c0"
      unitRef="shares">6108000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzItMy0xLTEtMA_ce43b050-66e6-4cd0-9b2d-12c4bb18b760"
      unitRef="usdPerShare">15.17</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzMtMS0xLTEtMA_86b11c1e-fe59-4266-848e-14eafabab8ca"
      unitRef="shares">740000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzMtMy0xLTEtMA_05ae4e21-c149-4881-b592-f545a7f301b9"
      unitRef="usdPerShare">2.26</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzMtNy0xLTEtMA_eec0ffe1-6866-4748-a117-cb4598e97eb9"
      unitRef="usd">9902000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzQtMS0xLTEtMA_be25cc58-051a-40df-a19b-c1598203f033"
      unitRef="shares">722000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzQtMy0xLTEtMA_3e6a9b09-d37b-455e-ae10-1ceda2c5df9f"
      unitRef="usdPerShare">7.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzUtMS0xLTEtMA_a8c5ad9b-21c9-46a8-9c3d-efbc2cdf3ce7"
      unitRef="shares">19219000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzUtMy0xLTEtMA_a39ca26b-c86d-4d2b-9731-830bbd4b4247"
      unitRef="usdPerShare">7.78</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzUtNS0xLTEtMA_bbac75c6-7a94-47c4-9064-fc69c7e2c979">P8Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzUtNy0xLTEtMA_197d33a5-53fb-4e02-a1f2-f7b888f3da40"
      unitRef="usd">277114000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzYtMS0xLTEtMA_cff590b3-8c29-49de-935e-bb55f3edc8f5"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzYtMy0xLTEtMA_601c8825-18a7-43ec-9986-b3a2c5148a0c"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzctMS0xLTEtMA_1e792f5c-ba04-4e9f-9f37-9a7dc4491ba6"
      unitRef="shares">4205000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzctMy0xLTEtMA_1d8bf7fc-0520-48c6-8dc1-e1dec6d0e4aa"
      unitRef="usdPerShare">4.53</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzctNy0xLTEtMA_edc891fa-110e-48ed-bd36-164c36451cbf"
      unitRef="usd">98378000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzgtMS0xLTEtMA_c6cbb4fc-8b84-4410-98c5-fa1fca11d5cc"
      unitRef="shares">2075000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzgtMy0xLTEtMA_3a3cb3ec-8b58-4632-939f-9cbd45f1e2b8"
      unitRef="usdPerShare">10.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzktMS0xLTEtMA_c67c58a9-284d-47a9-a6a6-edb295074c02"
      unitRef="shares">12939000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzktMy0xLTEtMA_ef32df05-ef39-495d-a1c3-53b46c9898cc"
      unitRef="usdPerShare">8.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzktNS0xLTEtMA_8bd29014-5e8d-4af3-8953-d9370a17058a">P7Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzktNy0xLTEtMA_6f9d08eb-d34f-4f99-8b0b-45fbf350f275"
      unitRef="usd">201608000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEwLTEtMS0xLTA_fa700792-1cc1-4032-9a4f-d619742eb6f0"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEwLTMtMS0xLTA_eaa26fff-d59f-4370-8c8b-386b5c93f2e4"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzExLTEtMS0xLTA_7c96a2e6-e6a1-4b66-be25-9e2b5d1bdee1"
      unitRef="shares">2956000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzExLTMtMS0xLTA_7368410d-f943-46ce-85b7-d8c0c9c60e50"
      unitRef="usdPerShare">7.34</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzExLTctMS0xLTA_fd1a369f-b926-4791-8496-221b5ddbfc35"
      unitRef="usd">73277000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEyLTEtMS0xLTA_8a7739fb-f8ba-45e0-83b0-6e37cd5ddef4"
      unitRef="shares">542000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEyLTMtMS0xLTA_d9419b61-cd80-4aa0-8b5a-cbd00f860576"
      unitRef="usdPerShare">10.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEzLTEtMS0xLTA_01a850ce-c309-409c-a911-4a542ae0a559"
      unitRef="shares">9441000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEzLTMtMS0xLTA_4c1a6570-7d00-4f66-9996-16e5728183e8"
      unitRef="usdPerShare">8.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEzLTUtMS0xLTA_9e711291-4662-4ef1-a6d2-f7518414e24b">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzEzLTctMS0xLTA_bfccdfcc-01d9-47e8-80e2-c59bb9c97dff"
      unitRef="usd">412547000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzE0LTEtMS0xLTA_33ae8ad8-4fde-4344-b522-18da8780a401"
      unitRef="shares">6189000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzE0LTMtMS0xLTA_3765ea5e-951c-4e5d-883f-dbb4972773f8"
      unitRef="usdPerShare">6.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzE0LTUtMS0xLTA_8b7cdcb8-83aa-41c8-b8fb-fd7a82fd3a26">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpjZTI0ZmI2YmJlYmM0MWQyOTE0ZjM2ZjRiNjczYzc3MC90YWJsZXJhbmdlOmNlMjRmYjZiYmViYzQxZDI5MTRmMzZmNGI2NzNjNzcwXzE0LTctMS0xLTA_232ed353-edd2-43b4-8f62-3b8888630b43"
      unitRef="usd">283024000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzE5OTc_f256d728-bf0e-40c8-9eab-5bfd4678f4fd"
      unitRef="shares">9400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="ie1e83109239d486b97633d1909a49571_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2Mzg0NTU_b4421d45-eeca-43d0-b2a0-b530b1f419c1">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i9be08a1e568c4c28a2eab42565eeedd9_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzEwOTk1MTE2Mzg0OTk_bbd7daa0-da1b-423d-a804-45bfeecff70c">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGrantDateIntrinsicValue
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzIyMTA_03abea1d-725d-4f20-bd5b-a95021672dbe"
      unitRef="usdPerShare">6.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGrantDateIntrinsicValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY5NjM_83cbb761-2c2f-4ae0-9ae8-23fbbc91c1ff">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option was estimated on the grant date based on 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31, 2018&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:'Arial',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:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.3&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:'Arial',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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.3% &#x2014; 43.3%&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:'Arial',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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.7% &#x2014; 2.9%&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected forfeiture rate&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:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzItMy0xLTEtMA_7ee6ae0d-fdca-4217-841f-ce7c5f29d7ee">P6Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzMtMy0xLTEtMC90ZXh0cmVnaW9uOjg5MmNjNjQ2MTJiYTRlMDg5NDU1NGM2ZTYwZTQ5YmYwXzMyOTg1MzQ4ODMzNTA_a5be9db4-9687-468f-9755-0abac0499dfb"
      unitRef="number">0.413</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzMtMy0xLTEtMC90ZXh0cmVnaW9uOjg5MmNjNjQ2MTJiYTRlMDg5NDU1NGM2ZTYwZTQ5YmYwXzMyOTg1MzQ4ODMzNTg_ee093526-3106-4450-891b-c9f1d7f32f43"
      unitRef="number">0.433</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzQtMy0xLTEtMC90ZXh0cmVnaW9uOjQxZWNlNTg0YzlhYTQ1YWI5MWZkYTIyZDRjNTg3NGQyXzMyOTg1MzQ4ODMzNDc_c67cb0e7-6fc6-43eb-90ca-ebd63a5c487a"
      unitRef="number">0.027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzQtMy0xLTEtMC90ZXh0cmVnaW9uOjQxZWNlNTg0YzlhYTQ1YWI5MWZkYTIyZDRjNTg3NGQyXzMyOTg1MzQ4ODMzNTQ_29e76340-0371-4655-bf31-88539a3b88b1"
      unitRef="number">2.9</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzUtMy0xLTEtMA_fbd70631-aa78-4ba0-8fe2-076e1da86375"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <tenb:SharebasedCompensationArrangementbySharebasedPaymentAwardFairValueAssumptionsExpectedForfeitureRate
      contextRef="i80dc8f379164442c9ba95039d2bf60b4_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTo2MWRiNmM5MDJjN2I0Yzg3OGIwZDQ0YjMyNmViYTJjMS90YWJsZXJhbmdlOjYxZGI2YzkwMmM3YjRjODc4YjBkNDRiMzI2ZWJhMmMxXzYtMy0xLTEtMA_5545731e-d3f1-442c-b7bc-91f420a45523"
      unitRef="number">0</tenb:SharebasedCompensationArrangementbySharebasedPaymentAwardFairValueAssumptionsExpectedForfeitureRate>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i840ef9d1a9f9414cb49815e99c85426a_I20200101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzU0NjU_abb67b38-bdfb-41a5-b8b2-fa1e73e61e90"
      unitRef="shares">1478808</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="ifacd4119228648d39bd49c58980c6404_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzU1MzA_457f3eef-100f-4cb5-bbd1-ce54b638efe4"
      unitRef="shares">5431176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
      contextRef="ifacd4119228648d39bd49c58980c6404_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzU2MTI_d436024f-7b48-4218-a5db-2c7d09fbce6b"
      unitRef="number">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate>
    <tenb:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfFairMarketValueOnOfferingDateOrPurchaseDate
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzU3Mzg_396152d5-ea53-46b3-bc5a-bb74726fc1f0"
      unitRef="number">0.85</tenb:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfFairMarketValueOnOfferingDateOrPurchaseDate>
    <tenb:SharebasedCompensationArrangementbySharebasedPaymentAwardOfferingPeriod
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzU4OTc_df5fa484-4bc8-4051-82e9-fe4b21411299">P27M</tenb:SharebasedCompensationArrangementbySharebasedPaymentAwardOfferingPeriod>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY0MTU_79ad8fba-5d6a-46e7-8552-580382370ec2"
      unitRef="shares">667719</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="ifacd4119228648d39bd49c58980c6404_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY0NzY_db975a96-ca9c-4d0b-ad32-c933417e9df7"
      unitRef="usdPerShare">19.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY1MjY_49e4523d-198c-4f43-bc6a-136002668d81"
      unitRef="usd">13000000.0</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzMyOTg1MzQ4OTQ0Nzk_e9f399bf-ba1e-45e7-b5f7-0e3c0953791c"
      unitRef="shares">776809</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased
      contextRef="ib760973c0850400fa91abb386cbe25a6_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzMyOTg1MzQ4OTQ1NTE_20bbb0c2-87f3-4282-9fca-c82c74788f97"
      unitRef="usdPerShare">19.48</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzMyOTg1MzQ4OTQ1Njg_9d98be97-bf05-4b36-ad75-0c88871e5665"
      unitRef="usd">15100000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="ifacd4119228648d39bd49c58980c6404_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY1NDc_5d26a366-0865-409b-97fd-82d337423295"
      unitRef="usd">6500000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="ib760973c0850400fa91abb386cbe25a6_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzMyOTg1MzQ4OTQ2NTc_68b4d2da-6890-4f9f-8bf8-88d2e11929f4"
      unitRef="usd">5400000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ifacd4119228648d39bd49c58980c6404_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY3MDY_e16dd61b-ab10-4ad5-8196-787c5704fadc"
      unitRef="usd">4100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY3ODM_418ea9c2-8001-4403-a726-d5297a4254d0">P0Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90ZXh0cmVnaW9uOmUxMTY5MTg0MTM3ODRlMTU4MzA3ZjE1YTZjMjgwZWM4XzY5NzI_9d67c079-bd51-429f-a6a0-18322ca7a355">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the 2018 ESPP purchase rights was estimated on the offering or modification dates using a Black-Scholes option-pricing model and the following assumptions:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.124%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.6 &#x2014; 2.1&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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.6% &#x2014; 60.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.4% &#x2014; 44.6%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.9% &#x2014; 33.5%&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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1% &#x2014; 0.9%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.5% &#x2014; 2.5%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.3% &#x2014; 2.7%&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="id2bda005d41a4ada8ccf800b341daf85_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzItMS0xLTEtMC90ZXh0cmVnaW9uOjBmMDNiZjUwY2JhMjRhYWI4MjFhYTYyOWQ1NmIzYmRjXzMyOTg1MzQ4ODMzNDQ_feb82fe0-d360-4d12-8627-4fb9530d2327">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i5ba12f5657fa400ea97026d5a44133aa_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzItMS0xLTEtMC90ZXh0cmVnaW9uOjBmMDNiZjUwY2JhMjRhYWI4MjFhYTYyOWQ1NmIzYmRjXzMyOTg1MzQ4ODMzNTA_da3d8af6-406f-466f-8af8-fdfeb25d0e39">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i1fe00056a5514715b47f6fcf819f14aa_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzItMy0xLTEtMC90ZXh0cmVnaW9uOjAzYjJjNmI3NTIwZjQ2OTA5MDYyNTVjODA5NjQ4ZDJiXzMyOTg1MzQ4ODMzNDQ_f1f8cad2-8f83-4798-933c-3066a6ae1454">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i9e76145d411c438ba36e3a4fae82a3fb_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzItMy0xLTEtMC90ZXh0cmVnaW9uOjAzYjJjNmI3NTIwZjQ2OTA5MDYyNTVjODA5NjQ4ZDJiXzMyOTg1MzQ4ODMzNTA_77139e41-9018-4ef8-a263-49a283d8606c">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i5a96b1d197a74713acda22e53b74e7c3_D20180101-20181231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzItNS0xLTEtMTcxMi90ZXh0cmVnaW9uOmI4NzBiNTBjOTVjMjQzYzdhZDBmZWZjNjQ0MGJiYjg1XzMyOTg1MzQ4ODMzMzI_d07e06f5-0fd7-4b10-8cac-28ec208cf27a">P0Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ibfdb9d7d1d674fa7a227491b71573da3_D20180101-20181231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzItNS0xLTEtMTcxMi90ZXh0cmVnaW9uOmI4NzBiNTBjOTVjMjQzYzdhZDBmZWZjNjQ0MGJiYjg1XzMyOTg1MzQ4ODMzNDM_07302513-1429-4d66-9a37-ed956029a0ff">P2Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzMtMS0xLTEtMC90ZXh0cmVnaW9uOjk5MGUyYzg2MDVlYjQ3OWM5OTBlYjhmZWI4ZDI1YjhkXzMyOTg1MzQ4ODMzNTA_002faac3-be29-48e5-bae6-097077ff3c79"
      unitRef="number">0.416</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzMtMS0xLTEtMC90ZXh0cmVnaW9uOjk5MGUyYzg2MDVlYjQ3OWM5OTBlYjhmZWI4ZDI1YjhkXzMyOTg1MzQ4ODMzNTg_adf7f4b8-e4e2-4a23-af19-35b53f4a7a2f"
      unitRef="number">0.601</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzMtMy0xLTEtMC90ZXh0cmVnaW9uOmFlOTc1OGVmMDA0ODQ0M2M4MTlkMmExNWVjOTVjYjE1XzMyOTg1MzQ4ODMzNTA_b5255d55-c1d3-47ae-992c-54a807e2e36d"
      unitRef="number">0.344</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzMtMy0xLTEtMC90ZXh0cmVnaW9uOmFlOTc1OGVmMDA0ODQ0M2M4MTlkMmExNWVjOTVjYjE1XzMyOTg1MzQ4ODMzNTg_c3fee9e0-db26-4214-bf9f-45dc5bd68901"
      unitRef="number">0.446</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="ib0bce4df3e0c4b7baf902929be01de78_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzMtNS0xLTEtMTcyMi90ZXh0cmVnaW9uOjBiN2Y0Njg1MjA1ZjRkNzBhOGY5Yjg0ZDNmYzAwMDBmXzMyOTg1MzQ4ODMzMzI_c1f25fee-3512-475b-9ff3-560b995ee646"
      unitRef="number">0.319</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="ib0bce4df3e0c4b7baf902929be01de78_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzMtNS0xLTEtMTcyMi90ZXh0cmVnaW9uOjBiN2Y0Njg1MjA1ZjRkNzBhOGY5Yjg0ZDNmYzAwMDBmXzMyOTg1MzQ4ODMzMzg_6155057d-11fe-4db0-9780-33e51f97830e"
      unitRef="number">0.335</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzQtMS0xLTEtMC90ZXh0cmVnaW9uOjY5MTM1ZDNmOTczYTRhNjNhMTQ2MTliN2U2Y2I0ZmU4XzMyOTg1MzQ4ODMzNDc_e70dea6b-9fd0-4b2b-bbd3-aecd46d0693b"
      unitRef="number">0.001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzQtMS0xLTEtMC90ZXh0cmVnaW9uOjY5MTM1ZDNmOTczYTRhNjNhMTQ2MTliN2U2Y2I0ZmU4XzMyOTg1MzQ4ODMzNTQ_7e204cce-f7aa-47ec-bec7-e569233cbd66"
      unitRef="number">0.009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzQtMy0xLTEtMC90ZXh0cmVnaW9uOjdiMzgzNmIwOTA3NTQ3ZDA5ZmM3MzZlOGIyZTVlYmI0XzMyOTg1MzQ4ODMzNDc_1df142b2-34ae-4c71-ba1a-bdfb26b01c06"
      unitRef="number">0.015</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzQtMy0xLTEtMC90ZXh0cmVnaW9uOjdiMzgzNmIwOTA3NTQ3ZDA5ZmM3MzZlOGIyZTVlYmI0XzMyOTg1MzQ4ODMzNTQ_6d171fe9-baed-4af7-aa17-1a89a536d4e6"
      unitRef="number">0.025</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="ib0bce4df3e0c4b7baf902929be01de78_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzQtNS0xLTEtMTczMC90ZXh0cmVnaW9uOmM3YjFkZGEwMDM4ODQ1NTA4OTdmNzFjMWYyZTQ2ZDEwXzMyOTg1MzQ4ODMzMzQ_6f945134-6add-4104-9138-c43fa89bb3d0"
      unitRef="number">0.023</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="ib0bce4df3e0c4b7baf902929be01de78_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzQtNS0xLTEtMTczMC90ZXh0cmVnaW9uOmM3YjFkZGEwMDM4ODQ1NTA4OTdmNzFjMWYyZTQ2ZDEwXzMyOTg1MzQ4ODMzMzg_db88285d-609b-454b-9f53-a09ecabff868"
      unitRef="number">0.027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i030c36e2a8704e8fb000d2b4f4da2671_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzUtMS0xLTEtMA_1a83c086-bd09-4914-9985-d1f51ba5638a"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ifc42d60f110242568112a3d5e1fd0a57_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzUtMy0xLTEtMA_a95aa8d0-b847-44ea-972a-fa621bd8d63b"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ib0bce4df3e0c4b7baf902929be01de78_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xMzYvZnJhZzplMTE2OTE4NDEzNzg0ZTE1ODMwN2YxNWE2YzI4MGVjOC90YWJsZTpmYjJlZjk0MDYwMjI0YTk4OWYxNDYyZmMyMTQxMGJlZi90YWJsZXJhbmdlOmZiMmVmOTQwNjAyMjRhOTg5ZjE0NjJmYzIxNDEwYmVmXzUtNS0xLTEtMjA2NA_19c56023-4d94-4cfb-a2f7-4af874b04238"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90ZXh0cmVnaW9uOmUyYzE3NGIwMjNhMTQxYjBhNzc5MmUwYzg0OTc4OTI5XzM0MA_f4298788-df46-4b4c-98ec-0d32132549e0">Net Loss Per Share Attributable to Common Stockholders&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted net loss per share attributable to common stockholders:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share data)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss attributable to common stockholders&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(42,731)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(99,013)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73,955)&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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 style="padding-left:4.5pt;text-indent:-4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used to compute net loss per share attributable to common stockholders, basic and diluted&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:4.5pt;text-indent:-4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.42)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.38)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following potentially dilutive securities have been excluded from the diluted per share calculations because they would have been antidilutive:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,441&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,939&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,219&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RSUs&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares to be issued under the 2018 ESPP&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;320&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,351&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,606&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,558&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90ZXh0cmVnaW9uOmUyYzE3NGIwMjNhMTQxYjBhNzc5MmUwYzg0OTc4OTI5XzM0Mg_a7338b25-5934-4285-b444-af1a272fa504">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted net loss per share attributable to common stockholders:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share data)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss attributable to common stockholders&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(42,731)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(99,013)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73,955)&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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 style="padding-left:4.5pt;text-indent:-4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used to compute net loss per share attributable to common stockholders, basic and diluted&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 style="padding-left:4.5pt;text-indent:-4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.42)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.38)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzItMS0xLTEtMA_04937780-8e22-4c65-be00-791467dd8451"
      unitRef="usd">-42731000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzItMy0xLTEtMA_3078152d-fa65-410e-b58b-95996b5d91c6"
      unitRef="usd">-99013000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzItNS0xLTEtMA_c4c21eea-1350-463b-abc5-bc5170afd158"
      unitRef="usd">-73955000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzQtMS0xLTEtMA_a468afbd-f825-4a7c-99fa-87a529751c5f"
      unitRef="shares">101009000</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzQtMy0xLTEtMA_5496d935-2cfb-45e7-ac5a-37d77859ab04"
      unitRef="shares">96014000</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzQtNS0xLTEtMA_f8f0bc6e-67b4-4d49-b2fe-ef8dc45f85e0"
      unitRef="shares">53669000</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzUtMS0xLTEtMA_04debd53-2e8f-462b-8d6d-db94c990a5bf"
      unitRef="usdPerShare">-0.42</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzUtMy0xLTEtMA_a2a7975a-f416-4c57-ab1f-c8f2d9afb9e8"
      unitRef="usdPerShare">-1.03</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTpmYmQ0YzUwNmMzMjM0Mzg1YTM3ZmJjYjZjMjFmNDYzZS90YWJsZXJhbmdlOmZiZDRjNTA2YzMyMzQzODVhMzdmYmNiNmMyMWY0NjNlXzUtNS0xLTEtMA_be4a822e-eeca-413e-9f4f-86d6c0ce7951"
      unitRef="usdPerShare">-1.38</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90ZXh0cmVnaW9uOmUyYzE3NGIwMjNhMTQxYjBhNzc5MmUwYzg0OTc4OTI5XzM0NA_ad41533a-d1d3-4841-b2e9-0b1c120d72b7">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following potentially dilutive securities have been excluded from the diluted per share calculations because they would have been antidilutive:&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,441&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,939&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,219&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RSUs&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares to be issued under the 2018 ESPP&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;320&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,351&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,606&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,558&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i5acf6ac6954748178b25f760fabb5be5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzItMS0xLTEtMA_d0acae0c-59eb-4352-9a7e-544b0bcd7558"
      unitRef="shares">9441000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i953bd71de9d24220908be527f46c2e0b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzItMy0xLTEtMA_4b166a02-7b21-487d-b4fa-299368b5c341"
      unitRef="shares">12939000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia168c226855b4660b320556367e179b7_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzItNS0xLTEtMA_ed8dce8a-97f0-4234-a968-72bc7843e307"
      unitRef="shares">19219000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8b1a3de3e5384fc9a81655919803848b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzMtMS0xLTEtMA_e16ec91a-79bd-4cd7-8f73-86f2cb3177aa"
      unitRef="shares">4490000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4abb992aee48400ab4a8276000483459_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzMtMy0xLTEtMA_af003610-97dc-4777-bf09-5bf802106c98"
      unitRef="shares">2894000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ieafc9f885c384ae2a3372100649fec4e_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzMtNS0xLTEtMA_37a81737-1834-4021-a5dc-d944cf837f83"
      unitRef="shares">1129000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0e8059cc39fc48ab9a6e0f9f32a1248e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzQtMS0xLTEtMA_607662c8-5139-46ec-8561-013901927d7b"
      unitRef="shares">99000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ic4c1eee198cb424e823fdd1e6dde9adf_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzQtMy0xLTEtMA_0e3a4c28-3471-4272-af0b-67913229eac9"
      unitRef="shares">495000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3737618ffdf64452bb3b51179a859b63_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzQtNS0xLTEtMA_f581934c-2479-4dbc-a2d6-49561c3f93c8"
      unitRef="shares">890000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ic27094f620874d82a2cebfaec0dbb841_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzUtMS0xLTEtMA_83f94d0d-0194-4664-91be-339cccc1e849"
      unitRef="shares">321000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ic1298f4dd0b3421fa6a3169239f3fcb5_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzUtMy0xLTEtMA_83002f4f-74ff-430f-b91d-8606a7ad1073"
      unitRef="shares">278000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i170f8a84ee4748b1b7628c1017b79481_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzUtNS0xLTEtMA_a3bebc8c-3dc5-42e1-a141-d948b2ef7380"
      unitRef="shares">320000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzctMS0xLTEtMA_ee2876f0-53f4-4945-a0b4-ca09bd6f3a22"
      unitRef="shares">14351000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzctMy0xLTEtMA_5125cd47-8706-4014-86f6-01df793b2a19"
      unitRef="shares">16606000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDIvZnJhZzplMmMxNzRiMDIzYTE0MWIwYTc3OTJlMGM4NDk3ODkyOS90YWJsZTozMzY1YjAxN2U5ZmQ0OTg0OWMzMjM1MzI5MGVmMWUwZi90YWJsZXJhbmdlOjMzNjViMDE3ZTlmZDQ5ODQ5YzMyMzUzMjkwZWYxZTBmXzctNS0xLTEtMA_0f782c98-b67c-4a39-8c9d-ce31f7368ebb"
      unitRef="shares">21558000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzM1MTc_ad70995a-71cc-478b-81a0-c6c7c8f18afc">Income Taxes&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. and international components of the loss before income taxes 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. (loss) income&lt;/span&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:'Arial',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:'Arial',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:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,644)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,429&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign loss&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,355)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(72,586)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total loss before income taxes&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,074)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(85,649)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(71,157)&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the provision for income taxes were as follows:&#160;&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(224)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current tax expense&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,496&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,121&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,364&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax expense&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total provision for income taxes&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,657&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,364&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,364&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The items accounting for the difference between income taxes computed at the federal statutory rate and our effective tax rate 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. federal statutory tax rate&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#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:'Arial',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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#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:'Arial',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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#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:'Arial',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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State and local taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uncertain tax positions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7.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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9.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;/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:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(40.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gain on sale of intellectual property&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12.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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign withholding tax&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15.3)&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;span style="color:#000000;font-family:'Arial',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 colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15.6)&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;span style="color:#000000;font-family:'Arial',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 colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.3)&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;span style="color:#000000;font-family:'Arial',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:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We maintain a valuation allowance on U.S. federal, state and foreign net deferred tax assets as the realization of our deferred tax assets is dependent upon future earnings, if any, the timing and amount of which are uncertain.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the deferred tax assets and liabilities were as&#160;follows:&#160;&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating losses&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,053&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax credits&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&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:'Arial',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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;142,806&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,634&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(82,237)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax assets&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,397&#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;/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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred commissions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,987)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,003)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,257)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,086)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(962)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(919)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(398)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,604)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,397)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(161)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2020, we had net operating loss (&#x201c;NOL&#x201d;) carryforwards for federal, state and foreign tax purposes of $254.7 million, $188.5 million, and $209.8 million, respectively, which will begin to expire in 2030, as well as $13.9 million of federal, state and foreign research and development tax credits, foreign tax credits, minimum tax credits and certain states&#x2019; job creation tax credits. The federal research and development and foreign tax credits will begin to expire in 2032 and the state job creation tax credits will begin to expire in 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, we sold acquired intellectual property through an intercompany transaction, which resulted in $6.3 million of current tax expense and $4.2 million of deferred tax expense in Israel.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are currently subject to the annual limitation under Sections&#160;382 and 383 of the Internal Revenue Code. We will not be precluded from realizing the NOL carryforward and tax credits but may be limited in the amount we could utilize in any given tax year in the event that the federal and state taxable income will exceed the limitation imposed by Section&#160;382. The amount of the annual limitation is determined based on our value immediately prior to the ownership change. Subsequent ownership changes may further affect the limitation in future years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2020 and 2019, the total amount of gross unrecognized tax benefits was $7.1 million and $7.2 million, respectively, which, if recognized, would impact our effective tax rate by less than $0.1 million in each year. Interest and penalties associated with uncertain tax positions recognized as a component of income tax expense were immaterial in 2020, 2019 and 2018.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in gross unrecognized tax benefits, excluding accrued interest, were as follows:&#160;&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefits at the beginning of the period&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,163&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,199&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions in the current year&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase in prior year positions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease in prior year positions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(334)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(89)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefits at the end of the period&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,123&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,163&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We file income tax returns in the United States, including various state jurisdictions. Our subsidiaries file income tax returns in various foreign jurisdictions. Tax years after 2014 remain open to examination by the major taxing jurisdictions in which we are subject to tax. At December 31, 2020, we were not under examination for income tax audits by the Internal Revenue Service or any state or foreign tax jurisdiction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depending on the jurisdiction, distributions of earnings could be subject to withholding taxes at rates applicable to the distributing jurisdiction. As we intend to continue to reinvest the earnings of foreign subsidiaries indefinitely, we have not provided for a U.S. income tax liability and foreign withholding taxes on undistributed foreign earnings of foreign subsidiaries. It is not practicable for us to determine the amount of unrecognized tax expense on these reinvested international earnings.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzM1MTk_9d84f00e-d8ca-4aea-a124-68b9a91dada8">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. and international components of the loss before income taxes 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. (loss) income&lt;/span&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:'Arial',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:'Arial',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:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,644)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,429&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign loss&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,355)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(72,586)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total loss before income taxes&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,074)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(85,649)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(71,157)&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzItMS0xLTEtMA_6f6d1ac8-2ab8-4184-b6aa-f75c75e98204"
      unitRef="usd">-6719000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzItMy0xLTEtMA_cddd02ff-097a-4387-b8ab-d6a5f2b063d4"
      unitRef="usd">-21644000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzItNS0xLTEtMA_4eb4d095-2d49-477d-87e9-a0beeea6e9ab"
      unitRef="usd">1429000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzMtMS0xLTEtMA_b90b4038-e72a-4c3d-9073-80bf313ce901"
      unitRef="usd">-30355000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzMtMy0xLTEtMA_ae53d560-2057-4e67-8cdf-ebd83d60af46"
      unitRef="usd">-64005000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzMtNS0xLTEtMA_fca422e6-c236-4a68-9adc-765a31ec6a5d"
      unitRef="usd">-72586000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzQtMS0xLTEtMA_16688a8c-2d03-4036-b3ba-e3589077f3c9"
      unitRef="usd">-37074000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzQtMy0xLTEtMA_68a092a3-71ca-4005-a099-00d9fca1a07b"
      unitRef="usd">-85649000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTozN2M2MDRiNzI3OGM0MWJjOWVjMzkyZTg1NWZjMTk0Zi90YWJsZXJhbmdlOjM3YzYwNGI3Mjc4YzQxYmM5ZWMzOTJlODU1ZmMxOTRmXzQtNS0xLTEtMA_d78b302d-861e-474a-9783-710dd783c3c4"
      unitRef="usd">-71157000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzM1MjA_c2b66320-5d2a-44ae-ae26-11dd15679c18">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the provision for income taxes were as follows:&#160;&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(224)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current tax expense&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,496&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,121&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,364&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax expense&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total provision for income taxes&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,657&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,364&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,364&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzMtMS0xLTEtMA_28ee11aa-801f-41e0-bca3-79afc3bc7147"
      unitRef="usd">3000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzMtMy0xLTEtMA_0576978f-cc75-4a74-8133-4feb1d5a7837"
      unitRef="usd">-224000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzMtNS0xLTEtMA_88f64a5d-2ac4-4fc3-ab64-0cf091e3de29"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzQtMS0xLTEtMA_dd74e7bb-0e0d-4b58-abf1-149bb89c7223"
      unitRef="usd">17000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzQtMy0xLTEtMA_e56e89a8-d2b7-4678-a9a7-40f5bfb2ef45"
      unitRef="usd">100000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzQtNS0xLTEtMA_7e8e125b-3f28-4c02-82a7-263dc1d96cd0"
      unitRef="usd">58000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzUtMS0xLTEtMA_58349180-3c0e-43d0-bb08-3cf13e18b308"
      unitRef="usd">5476000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzUtMy0xLTEtMA_db355153-d452-4db0-963c-82014b5b812c"
      unitRef="usd">9245000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzUtNS0xLTEtMA_3fe3d2f0-d32d-433c-b181-67bf5fb3bd0d"
      unitRef="usd">2306000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzYtMS0xLTEtMA_23d86cc8-55de-4e21-843d-f7988a01b2b7"
      unitRef="usd">5496000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzYtMy0xLTEtMA_27ab424e-4b9a-4606-b558-bf8f3fa315c3"
      unitRef="usd">9121000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzYtNS0xLTEtMA_e20e8c7c-68b9-43ce-b59d-1c23651daef5"
      unitRef="usd">2364000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzgtMS0xLTEtMjgwMA_06b444e9-670a-46c1-8f32-9981e5e10504"
      unitRef="usd">102000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzgtMy0xLTEtMjgwMA_b469a045-6158-43ae-9946-cdfa3210350d"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzgtNS0xLTEtMjgwMA_0da476ef-939a-4693-b2f3-58b77dabbcf2"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzktMS0xLTEtMjgwMA_db4d3d68-a2bd-40f3-bb68-fb16196b0b30"
      unitRef="usd">59000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzktMy0xLTEtMjgwMA_d79e44c8-0e54-408a-a7bf-a4319fbd8aad"
      unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzktNS0xLTEtMjgwMA_b716d918-e80d-4470-8779-10734c2c08e2"
      unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzgtMS0xLTEtMA_e6fc650c-a351-4754-a5ae-dbe85e61e97c"
      unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzgtMy0xLTEtMA_6becf096-a624-444e-9c60-cc5fc92b27ee"
      unitRef="usd">4243000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzgtNS0xLTEtMA_eca4ee89-44e4-47bd-ac96-9eb148ccdf40"
      unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzktMS0xLTEtMA_c220cf2d-2dd3-414c-b1b5-4876940817d8"
      unitRef="usd">161000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzktMy0xLTEtMA_eaead75f-b8fc-4c07-b404-59ae59780b9c"
      unitRef="usd">4243000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzktNS0xLTEtMA_1bc17d7a-eafe-4449-a229-4e9e8387ff3e"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzEwLTEtMS0xLTA_e933cb84-7854-4a50-97ad-eb08b0fe459b"
      unitRef="usd">5657000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzEwLTMtMS0xLTA_83a3a384-9b40-4582-b5fc-7a1902dd9272"
      unitRef="usd">13364000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo0NDFiNDUyNGVkZGE0ZWM2YWU2ODRkMWJiNmVlOTRmMi90YWJsZXJhbmdlOjQ0MWI0NTI0ZWRkYTRlYzZhZTY4NGQxYmI2ZWU5NGYyXzEwLTUtMS0xLTA_c43d41e0-0dde-41ed-98ef-e5d25ac61a40"
      unitRef="usd">2364000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzM1MjQ_60395757-bf3f-4c5b-8fe8-93f8bea9664e">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The items accounting for the difference between income taxes computed at the federal statutory rate and our effective tax rate 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. federal statutory tax rate&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#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:'Arial',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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#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:'Arial',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 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#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:'Arial',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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State and local taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uncertain tax positions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7.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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9.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;/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:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(81.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(40.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gain on sale of intellectual property&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:'Arial',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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12.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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign withholding tax&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15.3)&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;span style="color:#000000;font-family:'Arial',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 colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15.6)&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;span style="color:#000000;font-family:'Arial',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 colspan="2" style="background-color:#cceeff;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.3)&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;span style="color:#000000;font-family:'Arial',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="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzItMS0xLTEtMA_beaa9936-2a03-4184-a88c-0d097226d00c"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzItMy0xLTEtMA_ac420781-cb5c-4515-bf02-12da09a4b2c3"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzItNS0xLTEtMA_2351cefe-8e17-4c46-976d-0bb341750b53"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzMtMS0xLTEtMA_493c46ba-1712-4aa7-9a48-db5905f3d2be"
      unitRef="number">0.108</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzMtMy0xLTEtMA_9f7367e9-6869-41cd-bd25-144344df17d9"
      unitRef="number">0.048</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzMtNS0xLTEtMA_94f1cda1-1212-46ff-b6d5-d947c3931e1e"
      unitRef="number">-0.015</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzQtMS0xLTEtMA_72b672fc-3d7b-498d-af43-a83119bc8a74"
      unitRef="number">-0.111</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzQtMy0xLTEtMA_7da54295-b133-4c49-97c5-6cd5d2fcccd2"
      unitRef="number">-0.031</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzQtNS0xLTEtMA_25566140-0a53-4b11-9b7d-9203c2851199"
      unitRef="number">-0.019</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzUtMS0xLTEtMA_c30eaec9-5070-49e5-8cac-53e562bf1420"
      unitRef="number">0.344</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzUtMy0xLTEtMA_515f29f9-c7b7-431f-a759-036f710f0dec"
      unitRef="number">0.190</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzUtNS0xLTEtMA_e7aa2b29-b90e-4869-a098-3a8189b65b87"
      unitRef="number">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzYtMS0xLTEtMA_2d95312e-29a1-43bc-9399-722fd67ba754"
      unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzYtMy0xLTEtMA_6271eb41-487b-40b2-bd7f-fa67170a3c7f"
      unitRef="number">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzYtNS0xLTEtMA_49091521-a4c9-4376-b574-c6e46c0f87df"
      unitRef="number">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzctMS0xLTEtMA_2e16d5b1-d216-4d1f-8473-9768a4e58530"
      unitRef="number">-0.106</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzctMy0xLTEtMA_70d1fe7b-64bb-4feb-86c0-d756f4666f40"
      unitRef="number">-0.079</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzctNS0xLTEtMA_e307275f-26b8-43db-a2e7-00900f97be09"
      unitRef="number">-0.094</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzgtMS0xLTEtMA_5ffa1fc5-822e-4c69-bb1a-037db6090b55"
      unitRef="number">-0.812</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzgtMy0xLTEtMA_f308c4a7-9771-4ffd-9417-dca70b5f3f91"
      unitRef="number">-0.408</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzgtNS0xLTEtMA_41b04779-e00a-40c0-8ad8-945f7b890ab3"
      unitRef="number">-0.126</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDispositionOfAssets
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzktMS0xLTEtMA_22658882-8598-445c-a275-23dbfe0a951b"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationDispositionOfAssets>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDispositionOfAssets
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzktMy0xLTEtMA_0ff8da3f-b1c0-4614-80c5-ce9fcbfe9af9"
      unitRef="number">-0.123</us-gaap:EffectiveIncomeTaxRateReconciliationDispositionOfAssets>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDispositionOfAssets
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzktNS0xLTEtMA_aa5df1ef-2efb-46e2-bde9-6a1d70dbdae8"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationDispositionOfAssets>
    <tenb:EffectiveIncomeTaxRateReconciliationForeignTaxWithholdingPercent
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEyLTEtMS0xLTI4MTE_c269755e-5962-4510-bfcd-ccdad7a1c8a2"
      unitRef="number">0.033</tenb:EffectiveIncomeTaxRateReconciliationForeignTaxWithholdingPercent>
    <tenb:EffectiveIncomeTaxRateReconciliationForeignTaxWithholdingPercent
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEyLTMtMS0xLTI4MTE_0bf73790-bc65-43e8-a573-269acad42b0b"
      unitRef="number">0.014</tenb:EffectiveIncomeTaxRateReconciliationForeignTaxWithholdingPercent>
    <tenb:EffectiveIncomeTaxRateReconciliationForeignTaxWithholdingPercent
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEyLTUtMS0xLTI4MTE_2cd02d56-c794-46bd-aa46-8d702e343c78"
      unitRef="number">0.011</tenb:EffectiveIncomeTaxRateReconciliationForeignTaxWithholdingPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEyLTEtMS0xLTA_5f934fae-06ca-4606-8915-a96a91e57b4a"
      unitRef="number">0.024</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEyLTMtMS0xLTA_f7d9ca32-7018-4624-aed7-baa70732874c"
      unitRef="number">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEyLTUtMS0xLTA_caefd3fa-f54c-4ab0-9693-83d5fdd7bd25"
      unitRef="number">-0.011</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEzLTEtMS0xLTA_136edb28-090c-4cec-962c-958a4bd3d4cf"
      unitRef="number">-0.153</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEzLTMtMS0xLTA_9c37f8a6-c3e8-49a9-99c4-99665dc96ec3"
      unitRef="number">-0.156</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo4MGYyYmI1ZDFlZWY0NTI3YTBjNGQyMDZjNGZhZWNiMi90YWJsZXJhbmdlOjgwZjJiYjVkMWVlZjQ1MjdhMGM0ZDIwNmM0ZmFlY2IyXzEzLTUtMS0xLTA_4a612646-978f-4ca6-b877-78e5d7e37943"
      unitRef="number">-0.033</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzM1Mjc_59f44a31-d7a5-487e-91ff-82eeb6318bf9">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the deferred tax assets and liabilities were as&#160;follows:&#160;&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating losses&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,053&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax credits&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&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:'Arial',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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;142,806&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,634&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(82,237)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax assets&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,397&#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;/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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred commissions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,987)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,003)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,257)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,086)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(962)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(919)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(398)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(389)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,604)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,397)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(161)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzMtMS0xLTEtMA_2046edfa-fd18-4b96-8ad3-f7a898966798"
      unitRef="usd">89053000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzMtMy0xLTEtMA_7535373a-8d6a-44a8-9a92-937ccccd1731"
      unitRef="usd">65494000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzQtMS0xLTEtMA_44beb038-649c-45f5-8b26-cc149b492ca8"
      unitRef="usd">13454000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzQtMy0xLTEtMA_07e63a3b-fc58-4a45-ae31-7ea5900cd2c3"
      unitRef="usd">13891000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzUtMS0xLTEtMA_6c913032-19f0-4e90-9e0e-e007093107d7"
      unitRef="usd">11846000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzUtMy0xLTEtMA_341eaf75-e872-4753-b01d-0a524227e311"
      unitRef="usd">10032000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzYtMS0xLTEtMA_406a58be-fdbe-43e1-ab87-afe99cc0f2d7"
      unitRef="usd">11565000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzYtMy0xLTEtMA_f66bd555-5587-43f2-8d0d-fe9983c5ec8c"
      unitRef="usd">7585000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <tenb:DeferredTaxAssetsLeases
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzctMS0xLTEtMA_9a407fa9-eb35-4b90-a7a3-24b9d7e178ab"
      unitRef="usd">15238000</tenb:DeferredTaxAssetsLeases>
    <tenb:DeferredTaxAssetsLeases
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzctMy0xLTEtMA_d4cfecf5-c684-4fb6-b127-1d970ca49f35"
      unitRef="usd">10451000</tenb:DeferredTaxAssetsLeases>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzgtMS0xLTEtMA_154d08a1-5dca-4373-acb2-2ee97c5e13dc"
      unitRef="usd">1271000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzgtMy0xLTEtMA_0cf66428-1c2a-4ca3-a30f-61d4668af9f7"
      unitRef="usd">918000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzktMS0xLTEtMA_ba99ce1f-9839-4dd5-afb5-3731b203a8a2"
      unitRef="usd">379000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzktMy0xLTEtMA_0c87cb1a-6c2e-4769-86fc-8ea04049ea27"
      unitRef="usd">263000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzEwLTEtMS0xLTA_bcd6ef17-e950-418a-ae0a-5a71635a30c2"
      unitRef="usd">142806000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzEwLTMtMS0xLTA_53243bad-7674-4f07-87ca-e857cf4ac3cd"
      unitRef="usd">108634000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzExLTEtMS0xLTA_43a4a3a1-43dc-4b07-8642-8f9a57447299"
      unitRef="usd">112363000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzExLTMtMS0xLTA_2fdc4f28-8069-48c8-af03-5e716f4f14c1"
      unitRef="usd">82237000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzEyLTEtMS0xLTA_663573e7-dac8-438c-b65b-4824fa9ded8b"
      unitRef="usd">30443000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzEyLTMtMS0xLTA_314d32ec-3b4c-40e4-aa82-2ec97e810e51"
      unitRef="usd">26397000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpense
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE0LTEtMS0xLTA_be7170cc-fa9f-4cb2-a23e-abeef723b9fb"
      unitRef="usd">15987000</us-gaap:DeferredTaxLiabilitiesDeferredExpense>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpense
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE0LTMtMS0xLTA_0faa07d7-ee95-4ae0-bd86-58d410b290f0"
      unitRef="usd">15003000</us-gaap:DeferredTaxLiabilitiesDeferredExpense>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE1LTEtMS0xLTA_7cf9616a-fef6-4633-9797-d27636dd1c61"
      unitRef="usd">13257000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE1LTMtMS0xLTA_8e936c89-5df9-4278-993c-d090451348b1"
      unitRef="usd">10086000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE2LTEtMS0xLTA_57413654-3e28-44f9-991c-740ff15ce9c9"
      unitRef="usd">962000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE2LTMtMS0xLTA_098d9023-f921-4ded-ae92-f3fcb118dde0"
      unitRef="usd">919000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE3LTEtMS0xLTA_ce184108-98ba-4745-b604-48349b9e649e"
      unitRef="usd">398000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE3LTMtMS0xLTA_00e0a4c1-e542-4df4-b2d2-fe748327269e"
      unitRef="usd">389000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE4LTEtMS0xLTA_46849f92-e392-498f-8e2e-1f22f7a458b7"
      unitRef="usd">30604000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE4LTMtMS0xLTA_e18dd2eb-531c-40c6-827b-8942f630e4f3"
      unitRef="usd">26397000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE5LTEtMS0xLTA_2cb9243c-2653-461e-a6ec-957ef0752956"
      unitRef="usd">161000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTo1NDEwZjNjYjkxZTY0NGIyYTZhMzM5YjQ5NzE5NzdkYy90YWJsZXJhbmdlOjU0MTBmM2NiOTFlNjQ0YjJhNmEzMzliNDk3MTk3N2RjXzE5LTMtMS0xLTA_6bb4d475-f317-4451-9750-2d6ba20f4b26"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i981c1ed62de54b3c8403d622f2a9c520_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzczMA_03892f1a-4fc2-4bff-b257-c70381d21f53"
      unitRef="usd">254700000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i592544fd7dbd4b6b84167b5ea7fd37f9_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzczNA_82f3aad5-900f-4563-8554-77ae9f86b86b"
      unitRef="usd">188500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i407cd04a438648d98b3be6470a4963d9_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3Xzc0Mg_0fc8adc0-5cf3-4cb2-adf6-fbc934e6ccf3"
      unitRef="usd">209800000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzgwNw_23b18ce0-fcbd-4bef-b8ad-b49752aa2dd1"
      unitRef="usd">13900000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i6cbd4c2586694f5aa7c95e32277f2def_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzEyMzY_0f3f9381-c389-42b0-a13a-f1e54aafed93"
      unitRef="usd">6300000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i79d91086bf40464c84cee1477d44f362_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzEyNjY_b2694ab1-6b9d-4240-aee6-c7b86d5857cc"
      unitRef="usd">4200000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzIyNzM_1d725b62-18c7-46aa-a636-e796479b7ca5"
      unitRef="usd">7100000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzIyODA_37fd0eae-6368-43f7-ba0e-bad824fe8f53"
      unitRef="usd">7200000</us-gaap:UnrecognizedTaxBenefits>
    <tenb:UnrecognizedTaxBenefitsChangeInTaxExpenseBenefitIfRecognized
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzIzNjk_5e76e4a3-0021-4962-a922-b72ad658fa6c"
      unitRef="usd">100000</tenb:UnrecognizedTaxBenefitsChangeInTaxExpenseBenefitIfRecognized>
    <tenb:UnrecognizedTaxBenefitsChangeInTaxExpenseBenefitIfRecognized
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzIzNjk_99c45ba3-0113-430a-bd93-5fe8ecf588a5"
      unitRef="usd">100000</tenb:UnrecognizedTaxBenefitsChangeInTaxExpenseBenefitIfRecognized>
    <tenb:UnrecognizedTaxBenefitsChangeInTaxExpenseBenefitIfRecognized
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzIzNjk_c94da7c8-8c7f-47ec-b279-e762b5ad6df9"
      unitRef="usd">100000</tenb:UnrecognizedTaxBenefitsChangeInTaxExpenseBenefitIfRecognized>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90ZXh0cmVnaW9uOmRiMjBmOTg1MTdhZjRmZmViODg3NGM3NjI0MmIwMzg3XzM1MTg_72d85a99-f59f-49ba-8a7e-1ee8277443c5">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in gross unrecognized tax benefits, excluding accrued interest, were as follows:&#160;&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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefits at the beginning of the period&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,163&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,199&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions in the current year&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase in prior year positions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease in prior year positions&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(334)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(89)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions&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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefits at the end of the period&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,123&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,163&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzItMS0xLTEtMA_eef89dae-7f8b-4110-911d-b9791b8a1704"
      unitRef="usd">7163000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzItMy0xLTEtMA_0df5b2ce-336e-4324-9487-70bb565aa6b2"
      unitRef="usd">4814000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="icf5b3347f7814996b3d9ef6c5262e7c3_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzItNS0xLTEtMA_95e8bdcd-08b4-4734-bd84-8eb0cc41692d"
      unitRef="usd">1199000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzMtMS0xLTEtMA_7927ade4-bc14-420b-a77d-a2adae28b736"
      unitRef="usd">232000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzMtMy0xLTEtMA_56fb78c2-c7f3-412e-a37b-bc4ab940ce2a"
      unitRef="usd">2306000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzMtNS0xLTEtMA_a26d25ae-c274-49ad-8cec-a8d933792ff8"
      unitRef="usd">3571000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzQtMS0xLTEtMA_fea633e9-c684-4165-bc9d-d07ad931d095"
      unitRef="usd">62000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzQtMy0xLTEtMA_161566ba-54bf-4f40-a87c-bf21c09bb6b8"
      unitRef="usd">90000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzQtNS0xLTEtMA_ce5aca05-1dfb-4b15-baf0-0f8de5b6e996"
      unitRef="usd">102000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzUtMS0xLTEtMA_29cff5ac-1c3e-4efe-aba4-d4c3638bde00"
      unitRef="usd">334000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzUtMy0xLTEtMA_4fd04e21-e871-43e0-acb2-7a296884da91"
      unitRef="usd">89000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzUtNS0xLTEtMA_65969c61-4b5d-4578-9eb5-c3c81a627004"
      unitRef="usd">58000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromAcquisition
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzYtMS0xLTEtMA_999616df-dca4-4f53-a32a-97820e78f757"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromAcquisition>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromAcquisition
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzYtMy0xLTEtMA_e7fc10aa-5c79-4fc1-a72b-bd2e3dd60734"
      unitRef="usd">42000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromAcquisition>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromAcquisition
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzYtNS0xLTEtMA_e8ee056e-339d-4f0e-9aab-ea8f8a173f61"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromAcquisition>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzctMS0xLTEtMA_35ad4f9f-3955-4028-aa89-1c3ed024b870"
      unitRef="usd">7123000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzctMy0xLTEtMA_c158cf8b-bbcb-44ba-9801-20d27cf58e6f"
      unitRef="usd">7163000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i2df17937b2384a758cf75cd568c297f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNDUvZnJhZzpkYjIwZjk4NTE3YWY0ZmZlYjg4NzRjNzYyNDJiMDM4Ny90YWJsZTpkZWFlODg1ZGE4MWU0ZTM5ODc1Yzk0N2U4MDljY2E3MC90YWJsZXJhbmdlOmRlYWU4ODVkYTgxZTRlMzk4NzVjOTQ3ZTgwOWNjYTcwXzctNS0xLTEtMA_caa11487-061c-48d6-b622-486ffe2659ef"
      unitRef="usd">4814000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzcxMA_bfd60956-3bca-4a4b-aba5-54497df0be9d">Geographic Information&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate as one operating segment. Our Chief Executive Officer, who is our chief operating decision maker, reviews financial information on a consolidated basis for purposes of making operating decisions, allocating resources, and evaluating financial performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by region, based on the address of the end user as specified in our subscription, license or service agreements, was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;The Americas&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;293,734&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;243,616&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,204&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe, Middle East and Africa&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia Pacific&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,221&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,586&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,360&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Customers located in the United States accounted for 61%, 63% and 67% of revenue in 2020, 2019 and 2018, respectively. No other country accounted for 10% or more of revenue in the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our property and equipment, net by geographic area is summarized 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,406&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,464&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,847&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzQ2_f054a5c7-5c22-4c06-9ed7-3db1df6f37d7"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzcwNw_778967dd-9bbd-4f8b-bb3b-dceb73bf758b">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by region, based on the address of the end user as specified in our subscription, license or service agreements, was 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;The Americas&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;293,734&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;243,616&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,204&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe, Middle East and Africa&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia Pacific&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;440,221&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,586&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,360&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1ed2b3bae586433d97ff8c226ec6777c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzItMS0xLTEtMA_9d625f27-f915-4b2c-81ce-7836cdc89439"
      unitRef="usd">293734000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i256d3e2549d649e2bd0080c93eafd029_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzItMy0xLTEtMA_dc126e96-1d2e-4a14-ab35-f233387239ea"
      unitRef="usd">243616000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9efcba009e804ab98e7d500c128a70b6_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzItNS0xLTEtMA_374a0956-d225-445a-94ce-da37c517aeda"
      unitRef="usd">191204000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57c2c79d18824e4699c68a157948f576_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzMtMS0xLTEtMA_c1d65ddf-4ceb-4b1e-955f-3ec7a7bef6bc"
      unitRef="usd">102155000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia956626d89c841d1b1ae8ab55c83ca52_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzMtMy0xLTEtMA_362e8e36-eed8-4f17-8b5a-733d09780035"
      unitRef="usd">77676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i82434949fd144077b90aa289845a8f7f_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzMtNS0xLTEtMA_ecc8f05c-125f-4066-a133-b406e5cb07c8"
      unitRef="usd">53839000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i07b829eee227466f992642f25597a3e7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzQtMS0xLTEtMA_d172d4d1-fc4b-4fc3-a4b7-6fb80bf2d5f3"
      unitRef="usd">44332000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2d1bee89ab554d349e2453b2a1a960bc_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzQtMy0xLTEtMA_b3ef8d71-af43-4093-a736-3fcaf6e67f97"
      unitRef="usd">33294000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5cd71738f54445a98fb83d16fa7a83c8_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzQtNS0xLTEtMA_1a8c1c89-b5b2-4654-a08a-0351e3d9d821"
      unitRef="usd">22317000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzUtMS0xLTEtMA_a61acb08-bc78-4f55-a59c-bc706649b240"
      unitRef="usd">440221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzUtMy0xLTEtMA_3dbff709-a1bb-451a-bc2d-c0d093f2cd94"
      unitRef="usd">354586000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo3NjNhOGYwZjk2MTE0ZjFkYjY1NTZiNzFhYzUyNzRlNi90YWJsZXJhbmdlOjc2M2E4ZjBmOTYxMTRmMWRiNjU1NmI3MWFjNTI3NGU2XzUtNS0xLTEtMA_5df16f43-2ba3-4e01-9816-60103f29c844"
      unitRef="usd">267360000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2c80633eb34b46aaaa06214120455c3b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzQ5MQ_e671dc54-6f77-4259-9d93-5c842afbc1f8"
      unitRef="number">0.61</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i29c70e399b894e8bb57e97542ccf0d66_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzQ5NQ_b919b1c3-f679-4368-bcc8-9353c984c37d"
      unitRef="number">0.63</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic43c53e40c49473b803c9a543e030fb8_D20180101-20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzUwMg_c27ae8cd-15d8-4ef2-b4a3-2575dbd466af"
      unitRef="number">0.67</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90ZXh0cmVnaW9uOjEwYzY3NjZjOWFlYjRhZjhiZGM4NDcxNzllZmU1YjQ3XzcwOA_058c0c64-fa46-4b6f-aaa6-f56e2815f35e">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our property and equipment, net by geographic area is summarized 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;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.985%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,406&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,464&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,847&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7b0725e01bf2426990ab1b94c25269a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo2OGZlN2VlMDA2OGQ0NzQxYWIyMjQ5ZTIzNDU0ZjAwOS90YWJsZXJhbmdlOjY4ZmU3ZWUwMDY4ZDQ3NDFhYjIyNDllMjM0NTRmMDA5XzItMS0xLTEtMA_4d7b5101-fda7-4d68-a433-a4d26bea7381"
      unitRef="usd">35406000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i741fe0b8335f4000a4374c836d316e85_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo2OGZlN2VlMDA2OGQ0NzQxYWIyMjQ5ZTIzNDU0ZjAwOS90YWJsZXJhbmdlOjY4ZmU3ZWUwMDY4ZDQ3NDFhYjIyNDllMjM0NTRmMDA5XzItMy0xLTEtMA_924d49d3-18e2-4da7-88b2-eb3c4f7b0d8a"
      unitRef="usd">21464000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i593c6cf6c4514a1cb525a09a771014b1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo2OGZlN2VlMDA2OGQ0NzQxYWIyMjQ5ZTIzNDU0ZjAwOS90YWJsZXJhbmdlOjY4ZmU3ZWUwMDY4ZDQ3NDFhYjIyNDllMjM0NTRmMDA5XzMtMS0xLTEtMA_119a61c6-84b8-44e7-8925-f9acb0346c1a"
      unitRef="usd">3514000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i2b9513b078e544b18f79c4b523cac707_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo2OGZlN2VlMDA2OGQ0NzQxYWIyMjQ5ZTIzNDU0ZjAwOS90YWJsZXJhbmdlOjY4ZmU3ZWUwMDY4ZDQ3NDFhYjIyNDllMjM0NTRmMDA5XzMtMy0xLTEtMA_dfb5b6ff-6a85-420a-abe1-b4594c9a0114"
      unitRef="usd">5383000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i00dd386506e24e45a76f365b282bd42b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo2OGZlN2VlMDA2OGQ0NzQxYWIyMjQ5ZTIzNDU0ZjAwOS90YWJsZXJhbmdlOjY4ZmU3ZWUwMDY4ZDQ3NDFhYjIyNDllMjM0NTRmMDA5XzQtMS0xLTEtMA_6769faaf-09f6-4a85-aec4-338f66e122e9"
      unitRef="usd">38920000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ic8a9ecdaebbd4963a9a1da3366f25189_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTEvZnJhZzoxMGM2NzY2YzlhZWI0YWY4YmRjODQ3MTc5ZWZlNWI0Ny90YWJsZTo2OGZlN2VlMDA2OGQ0NzQxYWIyMjQ5ZTIzNDU0ZjAwOS90YWJsZXJhbmdlOjY4ZmU3ZWUwMDY4ZDQ3NDFhYjIyNDllMjM0NTRmMDA5XzQtMy0xLTEtMA_25555e69-0887-461a-9c0a-d6cdf3d2786d"
      unitRef="usd">26847000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTQvZnJhZzozMjQwMjFiYTQyMGQ0MjViYmMyNmU3ZmQ1NGQ5N2E2YS90ZXh0cmVnaW9uOjMyNDAyMWJhNDIwZDQyNWJiYzI2ZTdmZDU0ZDk3YTZhXzM3OA_218a5521-f840-4c29-ae1f-82485a9c7236">Benefit PlansWe maintain a contributory defined contribution 401(k) plan for our U.S. employees, where company-matched contributions are fully vested. Additional contributory plans are in effect internationally, including in the U.K. and Ireland. Our contribution expense for such plans was $6.5 million, $6.2 million and $4.8 million in 2020, 2019 and 2018, respectively.</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTQvZnJhZzozMjQwMjFiYTQyMGQ0MjViYmMyNmU3ZmQ1NGQ5N2E2YS90ZXh0cmVnaW9uOjMyNDAyMWJhNDIwZDQyNWJiYzI2ZTdmZDU0ZDk3YTZhXzMzNA_97bf04f5-c91d-4e37-abd9-ad8aa517e7f6"
      unitRef="usd">6500000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i117dbd784a714927b2f9f9335e14a0f4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTQvZnJhZzozMjQwMjFiYTQyMGQ0MjViYmMyNmU3ZmQ1NGQ5N2E2YS90ZXh0cmVnaW9uOjMyNDAyMWJhNDIwZDQyNWJiYzI2ZTdmZDU0ZDk3YTZhXzMzOA_e22604ba-f313-4914-9499-c0ea686577b0"
      unitRef="usd">6200000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="ib7ac348d2b5c459b9d9b5126d395ff53_D20180101-20181231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTQvZnJhZzozMjQwMjFiYTQyMGQ0MjViYmMyNmU3ZmQ1NGQ5N2E2YS90ZXh0cmVnaW9uOjMyNDAyMWJhNDIwZDQyNWJiYzI2ZTdmZDU0ZDk3YTZhXzM0NQ_6a78e7b3-9aa5-4f9d-b00a-c00b976330c8"
      unitRef="usd">4800000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNzEyL2ZyYWc6Y2NhMzFkYjE3Y2Y0NDc2YTk1ZmYyOTU0NTExMDgzMmQvdGV4dHJlZ2lvbjpjY2EzMWRiMTdjZjQ0NzZhOTVmZjI5NTQ1MTEwODMyZF8zODQ4MjkwNjk3ODA4_1f45bd1c-8622-4d4b-876e-1f2fe2de8ecf">Subsequent EventsOn February 10, 2021, we entered into a share purchase agreement to acquire Alsid SAS for a total purchase price of $98&#160;million in cash, subject to customary purchase price adjustments. The acquisition is expected to close early in the second quarter of 2021, subject to regulatory approvals and the satisfaction of customary closing conditions.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i11c8603a1a38474fb6cefb077ec388b2_D20210210-20210210"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNzEyL2ZyYWc6Y2NhMzFkYjE3Y2Y0NDc2YTk1ZmYyOTU0NTExMDgzMmQvdGV4dHJlZ2lvbjpjY2EzMWRiMTdjZjQ0NzZhOTVmZjI5NTQ1MTEwODMyZF8xMDk5NTExNjI4MzU1_7f1908aa-0af6-41ed-8c42-3145d16ac4cf"
      unitRef="usd">98000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:QuarterlyFinancialInformationTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90ZXh0cmVnaW9uOmI0MzQ1OWVlMGM1YTQzMGE4NmRmMDNkM2U3MGZkNmYxXzg4OQ_5564ab18-964a-4188-9839-e5c19ce4a782">Quarterly Results (unaudited)&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize our unaudited quarterly consolidated statements of operations data for each of the eight quarters through the period ended December 31, 2020. The information for each of these quarters has been prepared on the same basis as our audited annual consolidated financial statements and reflect, in the opinion of management, all adjustments of a normal, recurring nature that are necessary for the fair presentation of the results of operations for these periods. This data should be read in conjunction with our consolidated financial statements included elsewhere in this Annual Report on Form 10-K. Historical results are not necessarily indicative of the results that may be expected in the future, and the quarterly results are not necessarily indicative of the results that may be expected for the full year or any other period.&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;vertical-align:top;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.000%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.856%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share amounts)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,648&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,209&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,282&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,082&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,947&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,067&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,888&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,765&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating expenses&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,619&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,632&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,353&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,496&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss from operations&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,672)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,565)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,465)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(731)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income (expense), net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other expense, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(960)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(298)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(561)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,898)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,408)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,038)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(730)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,977)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,960)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,858)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,936)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.06)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.02)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.000%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.856%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share amounts)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,301&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,384&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,852&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,049&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,075&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,466&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,607&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,620&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating expenses&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,760&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,700&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,934&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,173&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss from operations&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,685)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,234)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,327)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,553)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other expense, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(214)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(122)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(104)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,343)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,762)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,040)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,504)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,440)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,628)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,640)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(38,305)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90ZXh0cmVnaW9uOmI0MzQ1OWVlMGM1YTQzMGE4NmRmMDNkM2U3MGZkNmYxXzg5MQ_47f8c81c-0f54-4aa0-b126-609fa32df5ed">&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.000%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.856%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share amounts)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2020&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,648&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,209&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,282&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,082&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,947&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,067&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,888&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,765&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating expenses&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,619&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,632&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,353&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,496&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss from operations&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,672)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,565)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,465)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(731)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income (expense), net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other expense, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(960)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(298)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(561)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,898)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,408)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,038)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(730)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,977)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,960)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,858)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,936)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.06)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.02)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.722%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.000%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.856%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share amounts)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,301&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,384&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,852&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,049&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,918&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,075&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,466&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,607&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,620&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating expenses&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,760&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,700&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,934&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106,173&#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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss from operations&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,685)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(22,234)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,327)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,553)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other expense, net&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(214)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(122)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(104)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,343)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,762)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,040)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,504)&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;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,801&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,440)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,628)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,640)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(38,305)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.23)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzItMS0xLTEtMA_6df44258-41c9-4a67-ab64-a24755f3c816"
      unitRef="usd">102648000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzItMy0xLTEtMA_7b660da3-6975-4695-8f17-d9618d5b8de9"
      unitRef="usd">107209000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzItNS0xLTEtMA_1a7b8655-46a5-4b2b-a0b2-c9549748d4fe"
      unitRef="usd">112282000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzItNy0xLTEtMA_093314dd-5495-434f-b9e8-eca6e585a8ed"
      unitRef="usd">118082000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzMtMS0xLTEtMA_8e462a3d-9209-4666-baf2-25f4884b1211"
      unitRef="usd">18701000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzMtMy0xLTEtMA_9992e316-5921-4618-9bd1-673dfda28d70"
      unitRef="usd">19142000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzMtNS0xLTEtMA_0e414ac7-2ba7-4460-a556-e86af5bf414d"
      unitRef="usd">19394000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzMtNy0xLTEtMA_55a331c8-d488-4474-bc3d-cdec928b14d6"
      unitRef="usd">20317000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzQtMS0xLTEtMA_a4f7ff91-45e4-4640-b59d-bf589624fbba"
      unitRef="usd">83947000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzQtMy0xLTEtMA_52ec1d57-9656-4079-aaca-6c0e29914867"
      unitRef="usd">88067000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzQtNS0xLTEtMA_14311f5e-7076-4d10-b497-88a02d43ef87"
      unitRef="usd">92888000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzQtNy0xLTEtMA_5f9c08f7-d2a3-4407-a84f-e6d6642e5692"
      unitRef="usd">97765000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzYtMS0xLTEtMA_8bfe768a-0ef1-448d-b6fc-f8ddb7fa48e3"
      unitRef="usd">59855000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzYtMy0xLTEtMA_d008ab71-069d-450c-8c91-3ab8403c8d9e"
      unitRef="usd">55443000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzYtNS0xLTEtMA_856ab3bc-4aad-4fa7-bdb8-360de94729eb"
      unitRef="usd">53045000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzYtNy0xLTEtMA_85b90a90-7ad6-4e22-a550-887a8f16782e"
      unitRef="usd">55934000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzctMS0xLTEtMA_a94be595-f89f-40be-a7d5-ba6a4da50920"
      unitRef="usd">26831000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzctMy0xLTEtMA_1628a0f7-47a1-403b-8555-de663582c41e"
      unitRef="usd">25310000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzctNS0xLTEtMA_e1201f9a-710a-4574-9875-b385b612e15a"
      unitRef="usd">25128000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzctNy0xLTEtMA_7c8581a4-63dc-4dd0-8bcc-cb29ad26c6f4"
      unitRef="usd">24418000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzgtMS0xLTEtMA_de0ae1aa-6835-4b44-a911-f9a8ea349f69"
      unitRef="usd">18933000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzgtMy0xLTEtMA_5852ea02-857c-4444-af52-ef264dea0f6d"
      unitRef="usd">17879000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzgtNS0xLTEtMA_92dc0971-02e2-422b-9604-4f6e95348921"
      unitRef="usd">18180000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzgtNy0xLTEtMA_c2e47178-7f86-48b6-b91f-c8a384f2105e"
      unitRef="usd">18144000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzktMS0xLTEtMA_527b9dc1-b233-4098-8625-0b8ee10582b6"
      unitRef="usd">105619000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzktMy0xLTEtMA_c83374be-6dbb-40d9-8992-36c2722e9532"
      unitRef="usd">98632000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzktNS0xLTEtMA_b9cee9a2-5045-4a43-9af1-eaab6a58576f"
      unitRef="usd">96353000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzktNy0xLTEtMA_29981dee-7d4f-4496-a71a-c42862986b28"
      unitRef="usd">98496000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEwLTEtMS0xLTA_568726a2-3a53-4bb0-9f5a-f5df15917c61"
      unitRef="usd">-21672000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEwLTMtMS0xLTA_cf054503-a93d-45b1-998f-98e1a89189ff"
      unitRef="usd">-10565000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEwLTUtMS0xLTA_0f7f5bd9-8f7b-40e7-9d94-22f67e1fd3d1"
      unitRef="usd">-3465000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEwLTctMS0xLTA_4b0454cf-a4ae-4530-b3a3-7f29372b01f8"
      unitRef="usd">-731000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzExLTEtMS0xLTA_0dfd7733-ba61-4ce7-8f74-37cec2f33921"
      unitRef="usd">734000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzExLTMtMS0xLTA_4a5d0613-a3b6-4694-b73b-8a0be9a089ae"
      unitRef="usd">455000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzExLTUtMS0xLTA_907f354b-ff4d-4bda-96d3-713e2286287f"
      unitRef="usd">-12000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzExLTctMS0xLTA_75f09888-aede-4f73-b5d1-ebd01a6e3cdf"
      unitRef="usd">67000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEyLTEtMS0xLTA_ec9cdaa4-6afb-48dd-97a8-0ca76ff4a386"
      unitRef="usd">-960000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEyLTMtMS0xLTA_767faff1-59c7-4e28-899e-eb866af897f4"
      unitRef="usd">-298000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEyLTUtMS0xLTA_b8e36536-610e-46f3-9671-8b14b31f72ed"
      unitRef="usd">-561000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEyLTctMS0xLTA_5ac4bfde-f26e-483e-b509-436bbb2e3508"
      unitRef="usd">-66000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEzLTEtMS0xLTA_193767c6-7576-4a9d-a775-088a32ab42f3"
      unitRef="usd">-21898000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEzLTMtMS0xLTA_358f0d69-6fe0-4acb-8f8f-7076f2f01fe7"
      unitRef="usd">-10408000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEzLTUtMS0xLTA_d150bda2-0306-417d-a3cb-9bc8df403ee8"
      unitRef="usd">-4038000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzEzLTctMS0xLTA_fc266ae6-24a6-4e1a-ad4f-c5130d483347"
      unitRef="usd">-730000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE0LTEtMS0xLTA_4232ece9-4d46-4cb2-9cf6-ce1096e55c8a"
      unitRef="usd">1079000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE0LTMtMS0xLTA_d6636f9d-571f-445c-a17d-a6544329f5ee"
      unitRef="usd">1552000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE0LTUtMS0xLTA_c83514fb-9395-490f-b6ce-7665864687fe"
      unitRef="usd">1820000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE0LTctMS0xLTA_466d0dfa-4d67-4696-bb7d-b90acab0a4ce"
      unitRef="usd">1206000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE1LTEtMS0xLTA_dacfac8e-8d4e-47fc-9a3a-ef45227e6625"
      unitRef="usd">-22977000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE1LTMtMS0xLTA_a712f540-96ac-4b96-96db-932c7946d103"
      unitRef="usd">-11960000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE1LTUtMS0xLTA_bc81fce5-0235-4bdf-8d65-788c9bd49c80"
      unitRef="usd">-5858000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE1LTctMS0xLTA_f5334779-d39a-4b84-ba3f-1629a673e956"
      unitRef="usd">-1936000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="if479c64e90da4fbb84416a30a1f76a79_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE4LTEtMS0xLTA_7fe345bb-bb13-4f07-a837-614362c577e9"
      unitRef="usdPerShare">-0.23</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="i7fd272bf4b93456092b461a583ffa09b_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE4LTMtMS0xLTA_b99de47d-d48b-4dc0-98b2-12c5ecfa0480"
      unitRef="usdPerShare">-0.12</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="ib8f2ea3f75d14e27af07b263b1752e7c_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE4LTUtMS0xLTA_ccd8aa46-6f5d-4267-ab28-a329f48fed54"
      unitRef="usdPerShare">-0.06</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="i3ec012bb157d4c37aef82fdd31f348f3_D20201001-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTpkY2Y3NWYwZjllNjI0YjNjOWIwYjk4MDE3N2EwYmI5Yi90YWJsZXJhbmdlOmRjZjc1ZjBmOWU2MjRiM2M5YjBiOTgwMTc3YTBiYjliXzE4LTctMS0xLTA_2829b757-f59d-47d9-8c59-c9c8277f4873"
      unitRef="usdPerShare">-0.02</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzItMS0xLTEtMA_bad152ed-2b4f-48d6-b725-e1d14fa4d7ff"
      unitRef="usd">80301000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzItMy0xLTEtMA_a97a2713-3085-49d3-87be-acd1a8f68798"
      unitRef="usd">85384000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzItNS0xLTEtMA_9727d66f-4c23-4663-91b8-8fed73484eed"
      unitRef="usd">91852000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzItNy0xLTEtMA_741e71a8-f4a4-4832-8048-a1379f6e00ee"
      unitRef="usd">97049000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzMtMS0xLTEtMA_bf519c44-a326-43d8-b19e-bb0f997d8bc4"
      unitRef="usd">13226000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzMtMy0xLTEtMA_91564961-f0f1-49a6-96d0-e4631bbd9225"
      unitRef="usd">13918000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzMtNS0xLTEtMA_be652961-eac2-49d0-a4c2-2802d8c1316d"
      unitRef="usd">15245000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzMtNy0xLTEtMA_fdaf3a0d-b7d4-4734-9f9a-4d84cee15a52"
      unitRef="usd">18429000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzQtMS0xLTEtMA_db040127-4eb2-43ee-b4e7-789a2dbc0b07"
      unitRef="usd">67075000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzQtMy0xLTEtMA_20404c43-a629-43b8-aa54-2daac9c18437"
      unitRef="usd">71466000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzQtNS0xLTEtMA_11bc9631-a92b-4f5c-ad30-c2be324ae56b"
      unitRef="usd">76607000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzQtNy0xLTEtMA_9d4b8bd6-1f24-49f3-bc49-ce7d3e17f201"
      unitRef="usd">78620000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzYtMS0xLTEtMA_f4f6ce01-8309-44d6-adb1-9cfaff4bed3a"
      unitRef="usd">52689000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzYtMy0xLTEtMA_9ca8108f-822a-4a09-ad21-d8f2173f7f09"
      unitRef="usd">56015000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzYtNS0xLTEtMA_b2e3cef3-58f2-4436-94f1-f4c1b53a042e"
      unitRef="usd">56699000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzYtNy0xLTEtMA_81ba299e-9419-4ac4-a717-57291801f45e"
      unitRef="usd">62632000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzctMS0xLTEtMA_cac14e46-4d75-4b87-8d89-93b6888eff64"
      unitRef="usd">21935000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzctMy0xLTEtMA_bcf011cc-fd08-4987-87d1-9a9e97b02456"
      unitRef="usd">21698000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzctNS0xLTEtMA_8dfa535f-994b-47e7-9480-446bb725b607"
      unitRef="usd">20763000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzctNy0xLTEtMA_fb43119b-5549-4e00-bce4-6bff841245ff"
      unitRef="usd">22668000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzgtMS0xLTEtMA_76d5719e-f821-4ec5-9ebc-b3252f060407"
      unitRef="usd">15136000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzgtMy0xLTEtMA_24fb25d1-c6f2-46da-88c5-fd59b3120a31"
      unitRef="usd">15987000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzgtNS0xLTEtMA_739ab66d-16a0-4f7e-b1e1-58541278614f"
      unitRef="usd">17472000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzgtNy0xLTEtMA_fd9caa43-338a-4e0f-89bb-257d39b800dd"
      unitRef="usd">20873000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzktMS0xLTEtMA_2f95ed31-2aa2-4856-bb60-a96edc2dd1a7"
      unitRef="usd">89760000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzktMy0xLTEtMA_d626bf67-5207-4203-86e3-bb099e67be16"
      unitRef="usd">93700000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzktNS0xLTEtMA_739fd059-f3e1-40e9-a7c4-505699831608"
      unitRef="usd">94934000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzktNy0xLTEtMA_a53a6e6f-9117-46a4-adca-3d7758485337"
      unitRef="usd">106173000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEwLTEtMS0xLTA_2c2f89b0-9b7e-48d6-853e-6ad03aa281cc"
      unitRef="usd">-22685000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEwLTMtMS0xLTA_aed42287-6f9e-4237-b37b-df3477a0a9b8"
      unitRef="usd">-22234000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEwLTUtMS0xLTA_7363045d-ee92-44ff-b99d-955523f99f36"
      unitRef="usd">-18327000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEwLTctMS0xLTA_8441bb6d-a8ff-4ebd-ae8e-f8979c51a86b"
      unitRef="usd">-27553000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzExLTEtMS0xLTA_00004162-e9ea-4934-8dd2-3855648830df"
      unitRef="usd">1556000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzExLTMtMS0xLTA_79f8969e-f338-47d7-bfe1-2e2c51c32d4d"
      unitRef="usd">1594000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzExLTUtMS0xLTA_2475eb6f-6a3d-4755-a777-e455aca10dd9"
      unitRef="usd">1527000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzExLTctMS0xLTA_66a359b5-b8d5-4a55-abf1-869ad1cb0c95"
      unitRef="usd">1153000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEyLTEtMS0xLTA_303e1ec8-8fcf-47c8-a301-727bd3e4708a"
      unitRef="usd">-214000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEyLTMtMS0xLTA_d62b7382-3ffa-43d7-8798-beefaf0c7994"
      unitRef="usd">-122000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEyLTUtMS0xLTA_5c9e52d4-0580-4a2d-82e9-b7969dadea98"
      unitRef="usd">-240000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEyLTctMS0xLTA_bc5dc8c0-3e02-42a4-9d34-aefa045ed43c"
      unitRef="usd">-104000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEzLTEtMS0xLTA_56b9699f-44a6-41c7-863e-57d3f2e02c7e"
      unitRef="usd">-21343000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEzLTMtMS0xLTA_42e77728-edd9-41e4-af97-d9b51abc0a3e"
      unitRef="usd">-20762000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEzLTUtMS0xLTA_52471505-40ab-45d4-b969-650d1114a34c"
      unitRef="usd">-17040000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzEzLTctMS0xLTA_3ec07a71-7d19-497e-aafe-6908ba54c91c"
      unitRef="usd">-26504000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE0LTEtMS0xLTA_322f29d7-2005-46b7-b0e4-e9418735ce06"
      unitRef="usd">97000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE0LTMtMS0xLTA_30cff71d-f012-4dda-bc69-c811672a41dd"
      unitRef="usd">866000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE0LTUtMS0xLTA_a5652980-dd03-4919-b64c-990e018ebb04"
      unitRef="usd">600000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE0LTctMS0xLTA_22dd0037-351f-436a-af32-41a94b29c84b"
      unitRef="usd">11801000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE1LTEtMS0xLTA_7dae8c8a-8a01-41d8-9835-f25519218b23"
      unitRef="usd">-21440000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE1LTMtMS0xLTA_e07e762d-0a2f-49f1-a20c-b290e03a5f57"
      unitRef="usd">-21628000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE1LTUtMS0xLTA_817a65a6-91f3-423c-92d6-5186f9f2912a"
      unitRef="usd">-17640000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE1LTctMS0xLTA_0e01f16f-16c3-4ec6-af03-4329e66d0bda"
      unitRef="usd">-38305000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="ib6fdcb5faf5f4c898fe78e107e84cd9c_D20190101-20190331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE4LTEtMS0xLTA_55656523-4447-4e1e-85a2-1061e60dc78d"
      unitRef="usdPerShare">-0.23</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="iac6dee22e06d4a5b98665ff920402c35_D20190401-20190630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE4LTMtMS0xLTA_246d312e-cf3e-49e1-8961-0309e9b8d022"
      unitRef="usdPerShare">-0.23</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="iadad99df6cbe4f93ace79c72f6501a90_D20190701-20190930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE4LTUtMS0xLTA_cb7331b7-929b-485d-8e1e-9960bb019acf"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="i079accce81184ea0a917dd2dfebb6b1f_D20191001-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xNTcvZnJhZzpiNDM0NTllZTBjNWE0MzBhODZkZjAzZDNlNzBmZDZmMS90YWJsZTowMjgwMjY2NzRiMWE0YWQ4OGM3ODAyNjdmOWY4NGZiMC90YWJsZXJhbmdlOjAyODAyNjY3NGIxYTRhZDg4Yzc4MDI2N2Y5Zjg0ZmIwXzE4LTctMS0xLTA_7155b8c7-83c6-490e-87fb-9bf2ed05ae96"
      unitRef="usdPerShare">-0.39</us-gaap:EarningsPerShareBasicAndDiluted>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock
      contextRef="iee5108fd37fd4ea5bf4c1d405019e187_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90ZXh0cmVnaW9uOmJhZDVhMzAwMzkyNzRjODU5OTdiYTg5ZjM3NzAxYmM3XzYwNA_daa34ce1-b8c6-4efd-80c5-a318eb502046">&lt;div style="text-align:center;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;SCHEDULE II&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;SUPPLEMENTARY CONSOLIDATED FINANCIAL STATEMENT SCHEDULE&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;VALUATION AND QUALIFYING ACCOUNTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.705%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance at Beginning of Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Additions Charged to Costs and Expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Deductions&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.85pt;font-weight:700;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance at &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;End of Year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Allowance for Doubtful Accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2020&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(839)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December&#160;31, 2019&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(391)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;764&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December&#160;31, 2018&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(121)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%"&gt;_______________&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;Consists of write-offs of uncollectible accounts, net of recoveries.&lt;/span&gt;&lt;/div&gt;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ia0933699f5544bfbacc5a89fb00ffe03_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzItMS0xLTEtMA_163999a9-3bf2-4b3f-894c-3d9c4d1a6ca1"
      unitRef="usd">764000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i901be13890ea4a69b80b79019dde2403_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzItMy0xLTEtMA_d10d1bbb-ff05-4d04-9563-144e11a280ff"
      unitRef="usd">336000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i901be13890ea4a69b80b79019dde2403_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzItNS0xLTEtMA_8e677458-bfde-40ca-a448-110126f9fa33"
      unitRef="usd">839000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i8641fb041ebd4512a3acf8f4abca62f5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzItNy0xLTEtMA_23b1bca0-4e19-4ab2-9aa5-c626db70956d"
      unitRef="usd">261000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i01c627b8d1384cd1ae8abb483c17d14d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzMtMS0xLTEtMA_cd8fce2e-4024-4481-9a28-5837e70c73ef"
      unitRef="usd">188000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i8b93108ed8a140969a04ed2b93281d55_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzMtMy0xLTEtMA_7a5499d3-681f-4e36-ade2-0e488eabc3e0"
      unitRef="usd">967000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i8b93108ed8a140969a04ed2b93281d55_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzMtNS0xLTEtMA_d425a012-c171-4535-a504-d76ea6608aa0"
      unitRef="usd">391000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ia0933699f5544bfbacc5a89fb00ffe03_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzMtNy0xLTEtMA_ba7412cd-20e6-418a-9ef7-09c901903852"
      unitRef="usd">764000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i3271f897678a49cb827f8f378126d400_I20171231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzQtMS0xLTEtMA_4051e094-ce64-4ccc-ac78-e6e79e788fab"
      unitRef="usd">160000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="if1118ead2b0c43f59d9c44705216f46f_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzQtMy0xLTEtMA_a8b4417c-8c6f-4260-980e-37c9d5490e68"
      unitRef="usd">149000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="if1118ead2b0c43f59d9c44705216f46f_D20180101-20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzQtNS0xLTEtMA_163afcf5-8740-48d2-b042-fe5c2d9a456e"
      unitRef="usd">121000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i01c627b8d1384cd1ae8abb483c17d14d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjUxNTlkNWZjMGNiNDQ4ZWFiYjdiMjdjMGFjMzI1YmViL3NlYzo1MTU5ZDVmYzBjYjQ0OGVhYmI3YjI3YzBhYzMyNWJlYl8xOTAvZnJhZzpiYWQ1YTMwMDM5Mjc0Yzg1OTk3YmE4OWYzNzcwMWJjNy90YWJsZTo4ZDk2Nzg3Mjk5Y2I0YWVhYjY4YzYzYjkzZjc2Y2ExMy90YWJsZXJhbmdlOjhkOTY3ODcyOTljYjRhZWFiNjhjNjNiOTNmNzZjYTEzXzQtNy0xLTEtMA_38d4ea71-defe-4387-96bc-11713d88255b"
      unitRef="usd">188000</us-gaap:ValuationAllowancesAndReservesBalance>
</xbrl>
