<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:tls="http://telos.com/20220630"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tls-20220630.xsd" xlink:type="simple"/>
    <context id="id126fd14460e45398fec5511a2a853b3_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i373e8e89d1b645989be0f73b2ea0ded5_I20220805">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2022-08-05</instant>
        </period>
    </context>
    <context id="i9426531e537b4d0298e04bab3bdc0f16_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ibaf810ef27594c8abff74ea283aa233b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie8bbe256caf04584a2b321136a280ab2_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iaee07bb999014af08ce1b0b8dea69469_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib93b1301c47f4c258fc0cf021bca11a4_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i5c29decc40084bb59203daeadc8c41c7_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5103579e3f2241a980c2aee4ffcec79b_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i66fc968999a54a458c9e42cea6bebe89_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7ab0034446d647f396ba64ea0d414d27_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i5d39451b80264fef9037148b4937f2aa_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib0adf5bbcd514fe1b22a7db986966619_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i354beeb1944a480087d077d19de09ba3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i2a05116f5fec4d6db9357fc43d13e538_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="idc34066167144ba7aee359ab85f462c4_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ie16047dfd894452ba5abf3b880256bed_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ic6c8880113844637b63f376366850b1c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i41ff0bdfbbbc49d49b516dc1635c35f1_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ifc5c2b75b7134ad8949f2894aed6b515_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib2e2a4f2de4a4a72b51382338447bfdb_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1a6c3c5afe69493ca90f414ad1cc9cae_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7b1b2d351b3646d4b5844930e53d0a8c_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib1ba870e2360448a8983390e78a697e7_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i7e357ed1cf5c4901945928fb908e8fda_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i43b05a7749b547a496f392b620976805_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib2f30153153b4ecd8e08f81f86676559_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="iec8bf15a61d94b88bfecc0c4bb21c5c9_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ia3ac03db0fbd438daa5ca8c89e4e280c_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="id536d25b2dd74b18b17f115518886b26_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i5e9700569e4840a383eb8604f18c676d_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i0a45e51a4d6848979df3e5c087cf0482_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i0b86548dfa634646874e9a16b78c1158_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i45e11d230f314ed28315cd8d8c0b76de_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iae1a7968c6d64683a922bc54e6104137_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic00e421c7b2a4b188de58bbe078a97b2_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i68a0e6d7c5fb47b79925fbda242f7793_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i99ea18fa17e349938dd84ad8d507673f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i97d8b62bc3c64832bf37512215fabd32_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i7708cdaed1a7437e983f72ac097aaf08_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="iea04436ea0c44655b30b7babac687055_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifb5d176355fe4f6fb2eeccd3aee8c237_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i396d2375440448788676d7377d4534d0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ice5d0dc826954761a71f29d588a0c1ae_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6a94161e4f3247f58423e697e329fe35_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iba9d316eddcf405bb8c34044317db0ce_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1570ad9f83b241fa8f0aff758615c6d2_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iad735464e44b407f88c9a5d256b7efcb_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i2ad20807a6254ea499bc3e2151864ca3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="id5c5f3923c3e49e5bce08b78708cf087_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="ie78079eb926348e0a3bf621116eb3b73_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i7c05f346348142fd8cae83db483ef73d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i07ee3611020341cc8f6c9413c5ddd9c0_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iae00ed8fb0ec4dcc8a6b634af03e9de2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i376d21a201e04668a0c645fa03b2859a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7f93ad51b9334859ac127b38f342bb46_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2b9710835b514f419bc20f8da2a20351_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIDTeloworksAndTelosAPACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib5a383760f9f42f8b19c3bcf90c5d9fc_D20201112-20201112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-11-12</startDate>
            <endDate>2020-11-12</endDate>
        </period>
    </context>
    <context id="ice00b72362c1423ba60b328e756121b1_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="iaadab27a62e1466a954389f7a941eeab_I20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-19</instant>
        </period>
    </context>
    <context id="ib3730fb637cf416d9bbf2c5d7a8e0299_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i476e713a1e114d70a9964df907ae7407_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i61f4c91b551f45c1882b8ca0451973d0_D20210406-20210406">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">tls:SecondaryPublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-06</startDate>
            <endDate>2021-04-06</endDate>
        </period>
    </context>
    <context id="id402bd8fca2141fdade2da45f2df3c6b_I20210406">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">tls:SecondaryPublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-06</instant>
        </period>
    </context>
    <context id="id280034b79be4ad7bb2d5e1952fcb0a5_D20210419-20210419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-19</startDate>
            <endDate>2021-04-19</endDate>
        </period>
    </context>
    <context id="i2cb106555e7743a7a82d40165ce5474d_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6cb287ebd11e40c6aedf0d0d127a8ed7_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i4f16e456dcf44dcd83af785d250e4c53_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4183f75a8f8a43f6affba15b7cb728b8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i04f145398a434a5ea241590db868d7a5_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ie7ed1e69e6304f42865a256522a19fca_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i55903362ebce4939ac2351b5fdc02abe_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia97e49a7895649dfbf44f37661ce7078_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i955360d1ee264e599d207a3aeee455ac_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="if42ff7c43a04477c8a20fc6af61a38af_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id0844acb9452449988caec5b15e4bc35_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib7de931f183043dc8afdbb4a8db814ea_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic41022d6a40e437b85b4bf7e9401181a_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="if7709d9f44194b7b997c2140666b045a_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie67349b95d6e4980a9a7e3189a3b27d2_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3339e8757c174adba740043c1a0b9689_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie0b0a9adc7614ffda9cfcc26a95d3421_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="if0e6f372cb9b45fd89757c8f2dfe1507_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id957e51ac3fd4c839d35023e4fcafbeb_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i927b02f11ad8457c94049bf329326266_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i78c5d3f656db41e78045fd90634d99f8_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6957487725b84a3dadf40ed310d311cc_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i304e04d391824448b0bda53cbe5bd9d2_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="if23a518ab9dc46798b3d4342ce28bbeb_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="icebf059493d94a76a9b410ee483caa5b_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i988c39ae5e064f9293c8ed7b3afb4a30_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iccbd3017f1c64ee38ab671a73072ea91_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1133f2304c4748449dcf8485ce0f7b1e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6c09ff7a502b4cc6b42de6fe1f88a066_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib75031f8f7db438cbea03bec857c97d4_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id089027634ec4d6e8a9f9576a738d55c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib18ab346634c40968b5d857404a79ae0_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i19ac525e311c4726aa7d775b1fe88cab_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="idc2d02570349485fb8154b305c5896d2_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if3815d7508bf4c4aba3924580c75dab8_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i44a3bcfe7dca4de8b843f3f4540cc368_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i03f880b7c2494ba1a88b1b0e564f5ee2_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i865969dd5ed5488d9063e9e9d4906970_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibd57d27f32214047aa084c3c47302dfb_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i96c58b8bd4ca47358205f3cfd48d6a99_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iaef61b346b474ccdbca552a413b8e3ce_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i697a8ce3a7124a7a89dcc24ed37fd3ea_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic1928c02ee984cbaa3429b838b9bcf8d_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id861c25dd3784a96b61de781f7d05793_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie44df382df884312a7d5cbfa5a5a396b_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1f1f499e4954431694f5d6615b117ed7_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id45510a6619a4d62ac7acf481483ee53_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7d55bb44cb6b4399bf62a5e3407783f2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i099471c5fe52438f9b2512690284d8db_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i039a390cc1db4d3986c02e7997f068ce_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic53c1d200d8b436b938a0b385b13ce58_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i67b2a0fe63794d88ae85093cdb43dfe7_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib1d99e44c9ce421ebef2c2b3d0770b22_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="if3ea6b310f484bd482e5a2b310a9cc82_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib9a4b82bde0545bc97c7f9b634e1b3eb_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i05342a92c2cc4bf49ff7863ca32a4335_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i729d76f5618745829b376bcb513759ce_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i179b18090b77488bb496f5063bef91ce_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i53053f0bc82d4fd3bf65063cc7b6960c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ic4163676745c4ad7ba598b6b8659a891_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ifef696f82caa4a898850c3e7632cee30_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="icac548f2fa2b4b2f9bc1a7491c7af06d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib87595b4a6964e81aa76e56fe6acbb66_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ie76ae9747de74fa1b298b6ab11a1d42a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4fd54513fd944cbf9bca9889c2563af9_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i8e86f47a51ee4a1094a25dc88a459131_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if0ff97e42a764229a7e5c8fe244f1cf2_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iea5004dd589d4238921e610b7ff4a476_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibf4f3932c8a740029140125b5db7fdda_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iaa7f4b13fda843b58ea1512ec032c28e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iae4f2e9c8f4f4631b99971b0f284634c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id7000adce5d04b5db4f201a75f52203a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iabf605ddfb4748ba91d49a41dad40a8d_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ife9bc7d6c80040b88128bce02ca95877_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i36212ec01a1e4a7894778589c934ef61_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1d71637082a94999afbeebb836eb0d46_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5aa9f46cf33545718515c48251f40beb_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i12f0fcce73b44d14a1b1dec14c8ea9f5_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i77b1c1b858104fa890761db0a99f5fcf_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i48cc0f33c1ce492c86d1f6f1e2f0a989_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i9559e5a625484bdfbd839de7c3efc7f9_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9b80e0ca88cd4c7ea892069bfc65edfd_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ia1ad9abdfd2a4ae799de33135e933ed6_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i32dd3c67cb28446880871b34c76a88d9_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id34b57ca55aa43e9ae8f47276dc14de8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib6cd1579e5f64fb2b21774bffe7f84d1_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i09b917259f384b3cae6adfcc474f9f61_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i3f308f1b55714c3b82faf1f64ccf4172_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tls:FurnitureAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib3e3fca5c3434719ace43cd25d4c6802_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tls:FurnitureAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i301e6d2467b94fe184c3b5c29a609081_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i2c4b8a501a3b4bd3b174a1618a881fde_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if579a1073e7c4f38909ca27c31c55792_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i274ce075d8a44fc5825f2982af6315a1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic5919c124f0d4c32be84dbb1d795b83e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="icec6759a37be446eab039618e2eb3fa2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i52e885ca21d14caebb2efc4161a7029e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i8b013d7ddffd48e69954d1523619a0f7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i292ecf883a5543b4981e2459ee70d343_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="icbfc891a21fc4e278021096244764ca2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i43969b5edff0418481fadc7df22ea0e4_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i085708b1968f4a8298191ee780732521_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="ief856876ff464e66a0969b35cec51c96_I20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-30</instant>
        </period>
    </context>
    <context id="i9bb694242f0a41678e0874858f750210_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i4b906c7b0056462881fec361b57bf612_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i38dd37fabd7347b28bf0dbc578ab1399_I20161231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-23</startDate>
            <endDate>2020-11-23</endDate>
        </period>
    </context>
    <context id="ia8a19f1c060e4da782819b3a215c3250_I20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-23</instant>
        </period>
    </context>
    <context id="ib3df180d00014f54ac3811a12661e385_D20210101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i8e083c7a9ca64647b3d68ebf0053b39a_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib5111cf50a764becbbfe446752dc84a0_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i646329069de74a28b3294c6dd0c8c074_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i88ca2afde9f94681b29351591d5e4889_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i258a4bd6dcf24ea081f98b09a07d0206_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i0bfb083a3ec349d2bb33a679d58ef99e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib501dbcad9e74987beba99edcec53aca_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i0708ce871420443c93a4b38e0258f83d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie8c92d8f73d94858855893cf2559ea3c_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i018a2f9e19e54cc6b601923078ada49e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ice5ee36745e9419584dabb2b3a6ee011_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i9003182f75524bc1a14f35b929f1f71e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic5ac97fcbe2c4b168e13325fbdb285d6_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i2ccb9d3422e8455fb6dae9b945d94574_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia87af4789fa646daa22df826e106ca11_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i9feaa4707f844a609c8df44bcad40161_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if326fee5908343f09d21085ec1c393eb_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ic524ddbf5de44a89a1e89e8a8b5eb19f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ida8feff5f29f4c159328569a7dcdf47e_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ie10567ed45a6486b9f59afe91b06ecc2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4750421fd1794a93835e6b8b363a5795_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i654f450be35f4ea4920a8c332eca9589_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic80bd5aa28af40bf827ce8f8adb2d72e_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1460ebcbd5cf407c9670c4b42eec777c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6c8e7a36902f4acc92c2d727951c608e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="icb79f765c432408081e30ab54f1dd4c9_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="icbb54db36474405f96e5a07800c303a1_I20220524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2022-05-24</instant>
        </period>
    </context>
    <context id="ifd7264830f2349ada191de5af67678e5_D20220701-20220805">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-08-05</endDate>
        </period>
    </context>
    <context id="i3667ce0f3b8d4589bfddf0ae084f5601_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id15a96c1515a4adba6fba38dcf9f5c72_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i57088350b0d048e9be68796fcd364d5d_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3365d8ca6c1143368cf7bbff9c8e1f7a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie272cebb1ccc4d0a98a7b871da99689d_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6725c36511404284979906dd2a09db8c_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibe70e649e22b422192f539472ba67758_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i982b07416e024a1e8beb503bd2899605_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if898720672374c16a2f231e94a9b916a_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i199c9a5fd2c24095a876196fc930e994_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ia12e4996331a43278607ad6dc669b736_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iafe689e888494f42945d41a5df8a5d47_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic820181cd384456bb50b06a609a55265_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i4838f270d403400f90d3ddb77dbf42f6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5b5b39d4713f44fb9edaaba34de63d9a_D20220201-20220201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-01</endDate>
        </period>
    </context>
    <context id="i448ddb66794344bfabadb3aa7e2fb512_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="icd77d0fa69c54eac94f6f465850420f7_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7aeea7f6cca34f3abd41a2146c89d756_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if9dc4dbbf9a14da2a5d0c5ee80df610c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iceb9bb3fb8bd484ab82fbed7dc5c9f46_D20220201-20220201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-01</endDate>
        </period>
    </context>
    <context id="i95eb228b233e492bbd75db9ec5f7eed3_D20220201-20220201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">tls:ShareBasedPaymentArrangementTrancheFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-01</endDate>
        </period>
    </context>
    <context id="i1fcfc4b782e0423f8d538bf6b207351b_D20220201-20220201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-01</endDate>
        </period>
    </context>
    <context id="i9e3fb894571146719302653bd6b0ba48_D20220201-20220201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-01</endDate>
        </period>
    </context>
    <context id="i2bcf45cfca5840b8a52ed7404eeae8b1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if049ff22b8194e70910810178c0b02ae_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i05469077eb0544ed94143f8a6b46c668_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if04c7041840c4661baafe6bc77c5b136_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:OverheadCostPoolsStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic84d4a3412c64222a192960493678164_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia2c15e5e7c1745c68ba17f65e7367ca3_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:RevenueRelatedToStubPeriodOfAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic65202506e444675a020bd34c265f3dd_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:RevenueRelatedToStubPeriodOfAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia5b4d2e401994c468e7afec8886c893c_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibbe5d405626542878708d15ddf50121e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i07400c7c89db4ba395f60d9fd8a92b46_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0196371b83104afc8a88e7ca18492176_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idcfecdfd8ebc49008f53695efab93524_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id485b6b4c49a461e90533454916d091a_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id12f31bea0f64e2381ac98a36534a7f0_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib5b165e446274a2184fad19fc8a930ec_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="icfb0fb5ed5f64198bcebad58b3e2fb18_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5e8ecae19593464d8197ccf558612f98_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i09c0a9d3c2fd4103beb851da85b2b9df_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i68c9b08374e44e74848c4e848367d5a1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8f934ea919714bba9fe97aaa062992e6_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5047aa72e30d4260b80cce076de416ef_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i467fdff00dd64b5a807cdb22d8ddaa6e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ibd8f75c982e6439182b30b1d26837a48_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifadce6c934f844daabeba20d1215cce5_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i34283770c42049a3b73e170c1fac7116_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>tls:segment</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80L2ZyYWc6ZDc0MDE2YTI1ZmQ2NGMxOGJmYzYzNTU4OGU5ZWVjYjIvdGFibGU6ZDgzMTY0OTIzN2I4NDQwMmFiM2E2Y2RhODc5ODBiYjEvdGFibGVyYW5nZTpkODMxNjQ5MjM3Yjg0NDAyYWIzYTZjZGE4Nzk4MGJiMV8zLTEtMS0xLTcxNjI5_a1a0f384-d10f-4254-8e21-4363d93e1241">0000320121</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80L2ZyYWc6ZDc0MDE2YTI1ZmQ2NGMxOGJmYzYzNTU4OGU5ZWVjYjIvdGFibGU6ZDgzMTY0OTIzN2I4NDQwMmFiM2E2Y2RhODc5ODBiYjEvdGFibGVyYW5nZTpkODMxNjQ5MjM3Yjg0NDAyYWIzYTZjZGE4Nzk4MGJiMV80LTEtMS0xLTcxNjI5_4307790b-9610-4b45-8c09-c4b409b2a7d2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:AmendmentFlag
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80L2ZyYWc6ZDc0MDE2YTI1ZmQ2NGMxOGJmYzYzNTU4OGU5ZWVjYjIvdGFibGU6ZDgzMTY0OTIzN2I4NDQwMmFiM2E2Y2RhODc5ODBiYjEvdGFibGVyYW5nZTpkODMxNjQ5MjM3Yjg0NDAyYWIzYTZjZGE4Nzk4MGJiMV81LTEtMS0xLTcxNjI5_6d26f7cf-2614-4bec-aa29-7e6d2575a82f">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80L2ZyYWc6ZDc0MDE2YTI1ZmQ2NGMxOGJmYzYzNTU4OGU5ZWVjYjIvdGFibGU6ZDgzMTY0OTIzN2I4NDQwMmFiM2E2Y2RhODc5ODBiYjEvdGFibGVyYW5nZTpkODMxNjQ5MjM3Yjg0NDAyYWIzYTZjZGE4Nzk4MGJiMV82LTEtMS0xLTcxNjI5_aaca94c2-5159-4f7b-baad-ced8bc6efc94">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80L2ZyYWc6ZDc0MDE2YTI1ZmQ2NGMxOGJmYzYzNTU4OGU5ZWVjYjIvdGFibGU6ZDgzMTY0OTIzN2I4NDQwMmFiM2E2Y2RhODc5ODBiYjEvdGFibGVyYW5nZTpkODMxNjQ5MjM3Yjg0NDAyYWIzYTZjZGE4Nzk4MGJiMV83LTEtMS0xLTcxNjI5_56c2793d-40a4-4544-a02a-86128d4ccad6">Q2</dei:DocumentFiscalPeriodFocus>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ib6cd1579e5f64fb2b21774bffe7f84d1_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzY1L2ZyYWc6N2M2MzRjMmJlODVhNDI1NWEzMGM2NGJlZmViMjEzZWIvdGFibGU6NTc5MDFlNDJmMTZmNGExNWI2ZjE4NzQxNDAxOWVhNDQvdGFibGVyYW5nZTo1NzkwMWU0MmYxNmY0YTE1YjZmMTg3NDE0MDE5ZWE0NF8xLTEtMS0xLTkwNjM3_1f0e8334-09e1-4eee-90f9-265f452bfa3a">P6M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i09b917259f384b3cae6adfcc474f9f61_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzY1L2ZyYWc6N2M2MzRjMmJlODVhNDI1NWEzMGM2NGJlZmViMjEzZWIvdGFibGU6NTc5MDFlNDJmMTZmNGExNWI2ZjE4NzQxNDAxOWVhNDQvdGFibGVyYW5nZTo1NzkwMWU0MmYxNmY0YTE1YjZmMTg3NDE0MDE5ZWE0NF8yLTEtMS0xLTkwNjM3_ddf2cc68-a8fd-4214-bfc2-cc999df442ca">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8e083c7a9ca64647b3d68ebf0053b39a_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMzI5ODUzNDkxNzg1NQ_fad9b2ee-e8e8-4ae2-a22d-ec448d259db0">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="iceb9bb3fb8bd484ab82fbed7dc5c9f46_D20220201-20220201"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzcyL2ZyYWc6YzhjMzI0YzkyNzkxNGU3OWI2YWE4ZGE1MzI4NGY2OTIvdGFibGU6ZWNmYWI3Yzc2ZmIwNGI5OGE4MjU1YWQwYWUzMTg5ZWQvdGFibGVyYW5nZTplY2ZhYjdjNzZmYjA0Yjk4YTgyNTVhZDBhZTMxODllZF8wLTEtMS0xLTkwODU2_041da08b-9728-4ed9-a70c-6963b6b8617a"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i95eb228b233e492bbd75db9ec5f7eed3_D20220201-20220201"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzcyL2ZyYWc6YzhjMzI0YzkyNzkxNGU3OWI2YWE4ZGE1MzI4NGY2OTIvdGFibGU6ZWNmYWI3Yzc2ZmIwNGI5OGE4MjU1YWQwYWUzMTg5ZWQvdGFibGVyYW5nZTplY2ZhYjdjNzZmYjA0Yjk4YTgyNTVhZDBhZTMxODllZF8wLTEtMS0xLTkwODU2_3c93a426-d204-4c87-9c6f-218534e15bed"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i1fcfc4b782e0423f8d538bf6b207351b_D20220201-20220201"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzcyL2ZyYWc6YzhjMzI0YzkyNzkxNGU3OWI2YWE4ZGE1MzI4NGY2OTIvdGFibGU6ZWNmYWI3Yzc2ZmIwNGI5OGE4MjU1YWQwYWUzMTg5ZWQvdGFibGVyYW5nZTplY2ZhYjdjNzZmYjA0Yjk4YTgyNTVhZDBhZTMxODllZF8wLTEtMS0xLTkwODU2_ddbd483b-b5f9-4ee3-b017-553038a1333d"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i9e3fb894571146719302653bd6b0ba48_D20220201-20220201"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzcyL2ZyYWc6YzhjMzI0YzkyNzkxNGU3OWI2YWE4ZGE1MzI4NGY2OTIvdGFibGU6ZWNmYWI3Yzc2ZmIwNGI5OGE4MjU1YWQwYWUzMTg5ZWQvdGFibGVyYW5nZTplY2ZhYjdjNzZmYjA0Yjk4YTgyNTVhZDBhZTMxODllZF8wLTEtMS0xLTkwODU2_eadb47f0-0118-4bb7-935a-39ff4a1bf0b7"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <dei:DocumentType
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODcx_682829e5-36a4-4220-b061-00c5fb546481">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ODgwYjdhYjZjZDI3NDJmYzg5Y2E0ZDBiYmM5ZWQ5MjQvdGFibGVyYW5nZTo4ODBiN2FiNmNkMjc0MmZjODljYTRkMGJiYzllZDkyNF8wLTAtMS0xLTcxNjI5_48b71c0a-5735-4481-a97b-6b4c311fa9d7">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xMzg_9673c5c6-1a9e-44df-98e4-11d1641eede8">2022-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6MmY1NTY2MzgzMzg1NDE1YmIwODZiOTczYmQxNDQ0NWEvdGFibGVyYW5nZToyZjU1NjYzODMzODU0MTViYjA4NmI5NzNiZDE0NDQ1YV8wLTAtMS0xLTcxNjI5_15ea150f-4c67-4069-981a-08c492533d86">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODc3_d2b15d38-272a-4b2a-b595-5fe0991738f9">001-08443</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODcy_1272bcd8-d28b-4d12-b1d2-75d929846526">TELOS CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZDhhYzk4ZWUxMTI2NDU2ZmFhODUwZjBhMTc0NGY0NGQvdGFibGVyYW5nZTpkOGFjOThlZTExMjY0NTZmYWE4NTBmMGExNzQ0ZjQ0ZF8wLTAtMS0xLTcxNjI5_07377159-cdd6-4e15-af4a-1173b230185c">MD</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZDhhYzk4ZWUxMTI2NDU2ZmFhODUwZjBhMTc0NGY0NGQvdGFibGVyYW5nZTpkOGFjOThlZTExMjY0NTZmYWE4NTBmMGExNzQ0ZjQ0ZF8wLTItMS0xLTcxNjI5_de860dc8-9c5f-45b2-a07c-01a49a1dbe1a">52-0880974</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZDhhYzk4ZWUxMTI2NDU2ZmFhODUwZjBhMTc0NGY0NGQvdGFibGVyYW5nZTpkOGFjOThlZTExMjY0NTZmYWE4NTBmMGExNzQ0ZjQ0ZF8zLTAtMS0xLTcxNjI5L3RleHRyZWdpb246MDMzYjkxNWU5ZDdmNDMxNGI5NDViZjYwNmM1N2FlNmRfNA_1a7ecd27-8b40-4ff9-8e51-388c79e511be">19886 Ashburn Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZDhhYzk4ZWUxMTI2NDU2ZmFhODUwZjBhMTc0NGY0NGQvdGFibGVyYW5nZTpkOGFjOThlZTExMjY0NTZmYWE4NTBmMGExNzQ0ZjQ0ZF8zLTAtMS0xLTcxNjI5L3RleHRyZWdpb246MDMzYjkxNWU5ZDdmNDMxNGI5NDViZjYwNmM1N2FlNmRfOA_84d48c90-12f3-4d49-89c8-cb29257590f0">Ashburn</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZDhhYzk4ZWUxMTI2NDU2ZmFhODUwZjBhMTc0NGY0NGQvdGFibGVyYW5nZTpkOGFjOThlZTExMjY0NTZmYWE4NTBmMGExNzQ0ZjQ0ZF8zLTAtMS0xLTcxNjI5L3RleHRyZWdpb246MDMzYjkxNWU5ZDdmNDMxNGI5NDViZjYwNmM1N2FlNmRfMTI_35935c69-53cf-4df5-8c89-9e5ab4aa43e5">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZDhhYzk4ZWUxMTI2NDU2ZmFhODUwZjBhMTc0NGY0NGQvdGFibGVyYW5nZTpkOGFjOThlZTExMjY0NTZmYWE4NTBmMGExNzQ0ZjQ0ZF8zLTItMS0xLTcxNjI5_1ee6a182-600c-4662-89f9-b3cafd7a3390">20147-2358</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODcz_3de8142f-de44-4f2b-9f69-b03237fe9099">703</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODc0_a6af084c-8637-4016-ae37-12c5f9a19486">724-3800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZmI1ZDU5MDA4MTQxNGNkYWIzYjA1OTM4ZGRiN2YyMzIvdGFibGVyYW5nZTpmYjVkNTkwMDgxNDE0Y2RhYjNiMDU5MzhkZGI3ZjIzMl8xLTAtMS0xLTcxNjI5_d5404baf-a412-4ea9-ae9b-d39ad4a6b16b">Common stock, $0.001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZmI1ZDU5MDA4MTQxNGNkYWIzYjA1OTM4ZGRiN2YyMzIvdGFibGVyYW5nZTpmYjVkNTkwMDgxNDE0Y2RhYjNiMDU5MzhkZGI3ZjIzMl8xLTEtMS0xLTcxNjI5_cca29a1c-9b3d-439a-a70c-ce662000cba8">TLS</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6ZmI1ZDU5MDA4MTQxNGNkYWIzYjA1OTM4ZGRiN2YyMzIvdGFibGVyYW5nZTpmYjVkNTkwMDgxNDE0Y2RhYjNiMDU5MzhkZGI3ZjIzMl8xLTItMS0xLTcxNjI5_d41a6876-d5a0-451b-bbb6-7710d26930e6">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODc1_c8b2340b-8a7a-43e2-a485-79c6824181f1">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODc5_c2c6fadc-7136-4211-a3ba-af76aaa91815">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6Y2VkZTQzOTk0Mzk5NDFkODljZDA2NmVkZGM5YzQyYjMvdGFibGVyYW5nZTpjZWRlNDM5OTQzOTk0MWQ4OWNkMDY2ZWRkYzljNDJiM18wLTAtMS0xLTg5NDUz_d7cc915c-9fd2-4efd-bc48-ec5aee1263ae">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6Y2VkZTQzOTk0Mzk5NDFkODljZDA2NmVkZGM5YzQyYjMvdGFibGVyYW5nZTpjZWRlNDM5OTQzOTk0MWQ4OWNkMDY2ZWRkYzljNDJiM18xLTQtMS0xLTcxNjI5_ac505fde-21ae-47be-befb-bdf419b46eba">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGFibGU6Y2VkZTQzOTk0Mzk5NDFkODljZDA2NmVkZGM5YzQyYjMvdGFibGVyYW5nZTpjZWRlNDM5OTQzOTk0MWQ4OWNkMDY2ZWRkYzljNDJiM18yLTQtMS0xLTcxNjI5_b153d4c8-3cba-4b1c-a5b3-31ca2c4e3595">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xODgw_bcdb5c49-4c74-45fe-89c4-de0e2eebb006">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i373e8e89d1b645989be0f73b2ea0ded5_I20220805"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xL2ZyYWc6N2FlYTFhNWMxYjIzNDgyYWI0OGUwNTBlNTI1OGM4NTgvdGV4dHJlZ2lvbjo3YWVhMWE1YzFiMjM0ODJhYjQ4ZTA1MGU1MjU4Yzg1OF8xNjQ5MjY3NDQzNTQ4_7c4f4545-c753-40e4-8560-2b371e11aeb9"
      unitRef="shares">67593945</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9426531e537b4d0298e04bab3bdc0f16_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMy0xLTEtMS03MTYyOQ_3dfdee55-bd05-48d6-a90c-17e6773e2948"
      unitRef="usd">50270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibaf810ef27594c8abff74ea283aa233b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMy0zLTEtMS03MTYyOQ_61aa2728-9ddb-4eb4-ac04-cf2ff204fc45"
      unitRef="usd">49003000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie8bbe256caf04584a2b321136a280ab2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMy01LTEtMS03MTYyOQ_5b26457d-af8e-41e2-baa7-2d90b6bdf077"
      unitRef="usd">98378000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaee07bb999014af08ce1b0b8dea69469_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMy03LTEtMS03MTYyOQ_f3f219f8-3eff-4b00-b97a-dbc6de6e78ca"
      unitRef="usd">101061000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib93b1301c47f4c258fc0cf021bca11a4_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNC0xLTEtMS03MTYyOQ_81deadf2-d6d7-4c6d-ade9-e356775d44f6"
      unitRef="usd">5521000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5c29decc40084bb59203daeadc8c41c7_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNC0zLTEtMS03MTYyOQ_2e0038f3-2862-47f2-b298-797e4bd8a480"
      unitRef="usd">4641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5103579e3f2241a980c2aee4ffcec79b_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNC01LTEtMS03MTYyOQ_51bd1c22-bf47-445b-99aa-7d8b5a928bf7"
      unitRef="usd">7573000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i66fc968999a54a458c9e42cea6bebe89_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNC03LTEtMS03MTYyOQ_73c41143-bc5b-4250-9fca-9c4b4b7b99df"
      unitRef="usd">8341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNS0xLTEtMS03MTYyOQ_19272720-6111-436a-ad18-43d5015d1151"
      unitRef="usd">55791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNS0zLTEtMS03MTYyOQ_e81a951c-1eaf-46c4-837e-d5571e95cc6b"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNS01LTEtMS03MTYyOQ_9873647d-3d51-4bfa-ba5d-f5e284b327b7"
      unitRef="usd">105951000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNS03LTEtMS03MTYyOQ_975c3d2e-39d8-41bc-aa5d-4a3a294a3725"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9426531e537b4d0298e04bab3bdc0f16_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNy0xLTEtMS03MTYyOQ_2ef5c554-3fcd-4eda-8311-157fa2abcc7a"
      unitRef="usd">31436000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ibaf810ef27594c8abff74ea283aa233b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNy0zLTEtMS03MTYyOQ_2be84dc8-b1c0-4010-85f3-411b847fa709"
      unitRef="usd">28609000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie8bbe256caf04584a2b321136a280ab2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNy01LTEtMS03MTYyOQ_1d2a38ee-eb73-45f4-9917-3e039ab4ab20"
      unitRef="usd">61167000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iaee07bb999014af08ce1b0b8dea69469_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfNy03LTEtMS03MTYyOQ_1c3ee825-27bc-4b29-b9ed-63bc4be782f0"
      unitRef="usd">68099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib93b1301c47f4c258fc0cf021bca11a4_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOC0xLTEtMS03MTYyOQ_a437c8d8-9e02-41bf-b52f-0e3e1596baf3"
      unitRef="usd">3426000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5c29decc40084bb59203daeadc8c41c7_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOC0zLTEtMS03MTYyOQ_caba041f-a797-498d-a478-056ba74a8e39"
      unitRef="usd">2501000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5103579e3f2241a980c2aee4ffcec79b_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOC01LTEtMS03MTYyOQ_505ed663-37e5-4bb0-8d14-7d492c67a02f"
      unitRef="usd">4984000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i66fc968999a54a458c9e42cea6bebe89_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOC03LTEtMS03MTYyOQ_a9aea013-b9d3-4437-956b-7cfc7ba394fc"
      unitRef="usd">4299000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS0xLTEtMS03MTYyOQ_d0eebdee-8eaa-405f-987e-069803b4f5e3"
      unitRef="usd">34862000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS0zLTEtMS03MTYyOQ_1529f587-0e81-4e3f-b732-a89cae8a4f0b"
      unitRef="usd">31110000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS01LTEtMS03MTYyOQ_25c129f4-a8ba-4dac-af97-64855558c25f"
      unitRef="usd">66151000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS03LTEtMS03MTYyOQ_34252d3d-c4bf-4a94-be64-64a048ea08ad"
      unitRef="usd">72398000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS0xLTEtMS04ODUzMw_bceaecec-8cc4-41b8-b7b2-3bfb05999dd8"
      unitRef="usd">20929000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS0zLTEtMS04ODUzMw_b469686d-e998-4779-9baa-79fcc36abda7"
      unitRef="usd">22534000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS01LTEtMS04ODUzMw_8a211cec-aa0b-4c1c-82d4-863540a09fc3"
      unitRef="usd">39800000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfOS03LTEtMS04ODUzMw_05c1aa1d-8055-4f35-b94d-ea7a981b3354"
      unitRef="usd">37004000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTEtMS0xLTEtNzE2Mjk_60a07f36-8587-428b-9c79-ceb243bf34f0"
      unitRef="usd">4741000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTEtMy0xLTEtNzE2Mjk_c6e7f3a3-37d8-4d07-aefc-a772a21d63b0"
      unitRef="usd">5043000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTEtNS0xLTEtNzE2Mjk_34b1b709-cf0b-487a-9262-8d9f4e0df57b"
      unitRef="usd">9993000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTEtNy0xLTEtNzE2Mjk_857d0107-6a9c-471e-ad9f-da18f0504529"
      unitRef="usd">8869000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTItMS0xLTEtNzE2Mjk_dfa0902d-7720-495b-b1d6-ae066aecb401"
      unitRef="usd">4489000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTItMy0xLTEtNzE2Mjk_21a97540-99d3-4651-bd1a-f5a2b39767f9"
      unitRef="usd">5327000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTItNS0xLTEtNzE2Mjk_a079d808-00ce-42c4-b623-c09573e48a6b"
      unitRef="usd">9919000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTItNy0xLTEtNzE2Mjk_e5fb6b3d-84ec-44b7-98ac-e666be52261e"
      unitRef="usd">9388000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTMtMS0xLTEtNzE2Mjk_0dfc21ed-c3f0-46f7-a958-952e4f70e0ba"
      unitRef="usd">23865000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTMtMy0xLTEtNzE2Mjk_689ad485-5541-4df3-98c0-b67d3097a768"
      unitRef="usd">29635000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTMtNS0xLTEtNzE2Mjk_7497128f-971f-4679-abc1-2cd9fd46b772"
      unitRef="usd">46788000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTMtNy0xLTEtNzE2Mjk_3f1f438e-a0fd-468c-8293-488abb696a16"
      unitRef="usd">49712000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTQtMS0xLTEtNzE2Mjk_e84a177b-ca30-4435-9762-4f4260532616"
      unitRef="usd">33095000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTQtMy0xLTEtNzE2Mjk_22056336-0927-4c83-8b57-69616b315556"
      unitRef="usd">40005000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTQtNS0xLTEtNzE2Mjk_0ce7239b-51f5-433c-8670-1c5ac6ed77ba"
      unitRef="usd">66700000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTQtNy0xLTEtNzE2Mjk_4aab791f-9e6e-436f-8b8c-c02d9e5af205"
      unitRef="usd">67969000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTUtMS0xLTEtNzE2Mjk_a687895a-558b-4b8b-985f-d34963198c45"
      unitRef="usd">-12166000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTUtMy0xLTEtNzE2Mjk_6f4c52c1-e14d-4be5-beaf-1a5ea9de8782"
      unitRef="usd">-17471000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTUtNS0xLTEtNzE2Mjk_d67165fb-75a6-4e35-aa3f-c2f522a15d5d"
      unitRef="usd">-26900000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTUtNy0xLTEtNzE2Mjk_d41768e6-d9b2-4bec-bf72-321178370ebc"
      unitRef="usd">-30965000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTctMS0xLTEtNzE2Mjk_b51a93a1-1df2-4f2b-aec1-16a4b0a99b2a"
      unitRef="usd">118000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTctMy0xLTEtNzE2Mjk_7f404d30-1044-4054-84f9-17b92a438c8b"
      unitRef="usd">32000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTctNS0xLTEtNzE2Mjk_bb06b8ae-f433-45a2-9286-83f140cc72b0"
      unitRef="usd">130000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTctNy0xLTEtNzE2Mjk_c3a77669-07ac-44ba-8f9e-5637b0f6dcdd"
      unitRef="usd">-1022000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTgtMS0xLTEtNzE2Mjk_8713a69b-cace-413e-8a5b-c5424ba6f6d8"
      unitRef="usd">187000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTgtMy0xLTEtNzE2Mjk_7277677c-e8f1-49ef-817f-f59149e2cd26"
      unitRef="usd">192000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTgtNS0xLTEtNzE2Mjk_46187f85-910d-4097-9f2f-a72e699d044d"
      unitRef="usd">377000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTgtNy0xLTEtNzE2Mjk_b4253d32-3a72-4de3-92d4-406949e337f1"
      unitRef="usd">388000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTktMS0xLTEtNzE2Mjk_2d1166b7-c462-4984-b36d-f89408ece762"
      unitRef="usd">-12235000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTktMy0xLTEtNzE2Mjk_2bd1b4bc-2a66-46de-b56a-9a5360abef0b"
      unitRef="usd">-17631000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTktNS0xLTEtNzE2Mjk_9cf903f2-11f0-4663-b3d1-8a2c5b9edcef"
      unitRef="usd">-27147000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMTktNy0xLTEtNzE2Mjk_5b24d4ab-1569-4420-82b8-6c2fc5efa862"
      unitRef="usd">-32375000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjAtMS0xLTEtNzE2Mjk_74789ec9-5c94-44df-b974-19321c9c2fae"
      unitRef="usd">54000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjAtMy0xLTEtNzE2Mjk_6a08b4f8-dbd0-4fdd-a082-90ad53d3e580"
      unitRef="usd">13000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjAtNS0xLTEtNzE2Mjk_94d5b836-a3f9-49db-ad39-851e85a0ac77"
      unitRef="usd">125000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjAtNy0xLTEtNzE2Mjk_728058a2-fc06-46bd-8478-19932f39cfbf"
      unitRef="usd">47000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjEtMS0xLTEtNzE2Mjk_b5b8adbf-2545-4980-b98c-789cd50a32f1"
      unitRef="usd">-12289000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjEtMy0xLTEtNzE2Mjk_daeee533-a761-4f63-a1e2-7ebe99d3de51"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjEtNS0xLTEtNzE2Mjk_0e2867bc-06c2-45f8-9cfe-76716364d921"
      unitRef="usd">-27272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjEtNy0xLTEtNzE2Mjk_18090e3c-2613-4934-90d5-74611dbc37de"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjQtMS0xLTEtNzE2Mjk_8341e80b-b870-4943-991a-6dfa4847ea3c"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjQtMy0xLTEtNzE2Mjk_a6e2b252-ba46-4b3c-a3a9-e417ee23d943"
      unitRef="usdPerShare">-0.26</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjQtNS0xLTEtNzE2Mjk_a932f3fd-1ae6-4a22-8915-942cc406daa1"
      unitRef="usdPerShare">-0.40</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjQtNy0xLTEtNzE2Mjk_d85efc9c-487a-4e2a-9b5f-641c98dd06fd"
      unitRef="usdPerShare">-0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjUtMS0xLTEtNzE2Mjk_4bd28160-fdb0-4605-bf7c-c52eb0b81f31"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjUtMy0xLTEtNzE2Mjk_01347aec-e7f0-4a39-9465-cf40f8d70dee"
      unitRef="usdPerShare">-0.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjUtNS0xLTEtNzE2Mjk_b32d8c8c-f2ef-4c37-9980-d03363fbd8cb"
      unitRef="usdPerShare">-0.40</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjUtNy0xLTEtNzE2Mjk_6cd9a63c-142c-485f-b464-9ff72517f480"
      unitRef="usdPerShare">-0.49</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjYtMS0xLTEtNzE2Mjk_335cb6da-3098-4a8a-a123-36f73532b336"
      unitRef="shares">67876000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjYtMy0xLTEtNzE2Mjk_a58ed872-76b8-4637-828e-090b5c423607"
      unitRef="shares">66616000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjYtNS0xLTEtNzE2Mjk_efc62e3f-c0c8-4554-b66a-3c16d1f4ee38"
      unitRef="shares">67717000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjYtNy0xLTEtNzE2Mjk_805a9bc0-6c11-44f0-a15b-c3bd763afb50"
      unitRef="shares">65621000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjctMS0xLTEtNzE2Mjk_7722ec47-9998-47bc-ac73-f303d3cae185"
      unitRef="shares">67876000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjctMy0xLTEtNzE2Mjk_b9e7b217-61e7-4d39-a933-0deb5c164380"
      unitRef="shares">66616000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjctNS0xLTEtNzE2Mjk_4818fa95-dfe7-44e6-8d78-271e5fcc938c"
      unitRef="shares">67717000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xNi9mcmFnOjNhNDhiNDE4ZThlMzQwNzc4ZTQzYzg3ZDhiMTg0ZDA3L3RhYmxlOjg5NTc3ZjMxNzE5YTQ5ZTI5ZTU5MTJkN2JlNDZiOWZkL3RhYmxlcmFuZ2U6ODk1NzdmMzE3MTlhNDllMjllNTkxMmQ3YmU0NmI5ZmRfMjctNy0xLTEtNzE2Mjk_3f5aecbb-d27d-42ba-bca4-4e41be76be40"
      unitRef="shares">65621000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfMi0xLTEtMS03MTYyOQ_c6aa016f-c16b-4518-85dc-af8ad820f588"
      unitRef="usd">-12289000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfMi0zLTEtMS03MTYyOQ_65c0776d-2e14-4509-acbc-6675c1cdf2fe"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfMi01LTEtMS03MTYyOQ_0f7a16f0-8dce-4c33-902a-e2f3ec61498d"
      unitRef="usd">-27272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfMi03LTEtMS03MTYyOQ_231c9583-e7a9-4be9-ac09-c99867ec65a1"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNC0xLTEtMS03MTYyOQ_828f02cb-84e2-423e-b6c1-64ec4c9db206"
      unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNC0zLTEtMS03MTYyOQ_f23d2c79-77a3-4026-87c9-642de8d7208d"
      unitRef="usd">5000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNC01LTEtMS03MTYyOQ_aac2bd9f-3a14-40be-8f50-8eee38835d66"
      unitRef="usd">18000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNC03LTEtMS03MTYyOQ_a387cb64-cff8-4370-a971-725c9de97f95"
      unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNi0xLTEtMS03MTYyOQ_dcd65056-4a06-40bf-b2c9-a03c5e03e98a"
      unitRef="usd">-12300000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNi0zLTEtMS03MTYyOQ_6548296c-28cf-47e7-9383-fa73d9abad40"
      unitRef="usd">-17639000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNi01LTEtMS03MTYyOQ_42265581-b269-4920-aae0-65fd608d5ba1"
      unitRef="usd">-27254000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xOS9mcmFnOjVlMWZkZDA0MzE4MzQxOTNiNmM2ZGVjYWFjMDY5NjcxL3RhYmxlOjMzZTA3ZTc2YzcwNDQ5Mzc4ZTg2NWE3MDhmODNlZTBmL3RhYmxlcmFuZ2U6MzNlMDdlNzZjNzA0NDkzNzhlODY1YTcwOGY4M2VlMGZfNi03LTEtMS03MTYyOQ_810b09c8-478d-4d7f-a679-b316f881e9d9"
      unitRef="usd">-32449000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNC0xLTEtMS03MTYyOQ_1a6a306f-c61b-46cf-94e4-2bd54158df99"
      unitRef="usd">122588000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNC0zLTEtMS03MTYyOQ_9dbe58ba-e510-4be3-bb71-0693f69b21b8"
      unitRef="usd">126562000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNS0xLTEtMS03MTYyOQ_375889a4-5c5e-4c4d-a5d5-04bc31169b32"
      unitRef="usd">50676000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNS0zLTEtMS03MTYyOQ_b171bf1c-f023-4add-9ec5-eaa7bf69b038"
      unitRef="usd">59844000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNi0xLTEtMS03MTYyOQ_c0ad8eb4-20fe-4c94-95ba-081f0ac2d44a"
      unitRef="usd">3630000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNi0zLTEtMS03MTYyOQ_22612e39-e13c-44cc-a977-c54f71775ca1"
      unitRef="usd">1247000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNy0xLTEtMS03MTYyOQ_85d139ad-b7c4-4d8f-bef9-45235d48ae53"
      unitRef="usd">6778000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfNy0zLTEtMS03MTYyOQ_205ca1d6-d85a-439e-86dd-e8c22422d398"
      unitRef="usd">3329000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfOC0xLTEtMS03MTYyOQ_b2ceec40-d4db-468e-a65a-ecf95abc35ce"
      unitRef="usd">947000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfOC0zLTEtMS03MTYyOQ_5076eaf6-9e91-4e01-928f-9f9fad02919b"
      unitRef="usd">732000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfOS0xLTEtMS03MTYyOQ_1880f8da-b6e1-419e-80ff-b51fbbf08e35"
      unitRef="usd">184619000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfOS0zLTEtMS03MTYyOQ_f5b60a2c-52d6-48ce-bf64-34d8b801f5ef"
      unitRef="usd">191714000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTAtMS0xLTEtNzE2Mjk_878a0da3-f4a4-4051-9cd4-73d9c390b6be"
      unitRef="usd">5571000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTAtMy0xLTEtNzE2Mjk_b1b8e3ef-eeb5-4018-9800-48d7f7fdc687"
      unitRef="usd">6088000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTEtMS0xLTEtODY4NTc_8a10d02a-33d4-4b37-bc8a-0f9db7d1826f"
      unitRef="usd">8442000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTEtMy0xLTEtODY4NTc_29848958-b1f1-4d7e-a96a-1fcf3e57f385"
      unitRef="usd">9053000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTEtMS0xLTEtNzE2Mjk_574e65e6-caa2-411b-a5f8-bb130188086a"
      unitRef="usd">569000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTEtMy0xLTEtNzE2Mjk_342db8de-1d09-4e6b-b2df-c621c50e3b61"
      unitRef="usd">852000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTItMS0xLTEtNzE2Mjk_3366dda1-4d99-408d-afdb-9b854e3f80e1"
      unitRef="usd">17922000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTItMy0xLTEtNzE2Mjk_dcac3495-445a-4246-aa54-71854010443f"
      unitRef="usd">17922000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTMtMS0xLTEtNzg3NTg_87273528-1e8e-4feb-b12d-d587faaafcdf"
      unitRef="usd">23783000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTMtMy0xLTEtNzg3NTg_6919ce3c-6381-4006-a0ab-18d90740aa72"
      unitRef="usd">19199000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTMtMS0xLTEtNzE2Mjk_e8b93bbd-07fe-4b7a-98c1-ba2df7838696"
      unitRef="usd">1052000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTMtMy0xLTEtNzE2Mjk_39b6726f-21e7-431f-a043-6f666bfed43f"
      unitRef="usd">1253000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTQtMS0xLTEtNzE2Mjk_0a5ba92e-bb0a-48a9-b418-37ecda25dfea"
      unitRef="usd">241958000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTQtMy0xLTEtNzE2Mjk_2210ea4e-8dcf-4210-9aff-efaa07a83dfc"
      unitRef="usd">246081000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTctMS0xLTEtNzE2Mjk_e06df6c9-f681-450c-9e60-018a3249a4c2"
      unitRef="usd">35412000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTctMy0xLTEtNzE2Mjk_95c72424-20fb-40be-82b7-2a704168c25a"
      unitRef="usd">34548000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTgtMS0xLTEtNzE2Mjk_e07fe66d-2ce3-47cb-937c-fcc6d5debc73"
      unitRef="usd">9280000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTgtMy0xLTEtNzE2Mjk_a324b6bd-2163-4249-a29e-577718e3187f"
      unitRef="usd">6557000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTktMS0xLTEtNzE2Mjk_2ed0e18b-593b-4762-9354-e9f238edab83"
      unitRef="usd">4799000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMTktMy0xLTEtNzE2Mjk_ffa860b6-7ef1-42d2-816e-18fb057fb3f6"
      unitRef="usd">6381000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjAtMS0xLTEtNzE2Mjk_3e828970-64d6-4ede-aeec-b83582e2e83a"
      unitRef="usd">1525000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjAtMy0xLTEtNzE2Mjk_903da112-5e0a-45ab-a58f-b10528662623"
      unitRef="usd">1461000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjEtMS0xLTEtNzE2Mjk_c2b6082f-545f-4aa6-aabb-fdcd900ac173"
      unitRef="usd">450000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjEtMy0xLTEtNzE2Mjk_beb34980-79d3-40e1-b434-bcabc1c1d7a8"
      unitRef="usd">564000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjItMS0xLTEtNzE2Mjk_9f6dc6ad-5dee-469c-83fd-18d4a29b864a"
      unitRef="usd">2734000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjItMy0xLTEtNzE2Mjk_6510a1b1-7d7b-44c8-9471-71f2baee56f7"
      unitRef="usd">1430000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjMtMS0xLTEtNzE2Mjk_a987f51b-2665-48fd-a54c-f0ba8fb786c0"
      unitRef="usd">54200000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjMtMy0xLTEtNzE2Mjk_18d96638-579c-4c53-a70b-8a04d73d74d3"
      unitRef="usd">50941000</us-gaap:LiabilitiesCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjUtMS0xLTEtNzE2Mjk_eee048e3-c923-49ce-a245-c64b9610eb43"
      unitRef="usd">12066000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjUtMy0xLTEtNzE2Mjk_e69781cc-6c3b-4d20-bb1b-4fdf09a577f0"
      unitRef="usd">12840000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjYtMS0xLTEtNzE2Mjk_db950a3e-23b7-44d0-97e9-cfdfc4b47b64"
      unitRef="usd">192000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjYtMy0xLTEtNzE2Mjk_47785698-ad60-436b-a843-c77813e9b5bf"
      unitRef="usd">388000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjctMS0xLTEtNzE2Mjk_e8dba594-2d0b-4964-b8ae-c88829c4acf9"
      unitRef="usd">748000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjctMy0xLTEtNzE2Mjk_df224b57-8cca-4a4e-9a10-ca237ce5a560"
      unitRef="usd">723000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjgtMS0xLTEtNzE2Mjk_f937befa-3c59-4f0e-a886-d4ca18558d69"
      unitRef="usd">440000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjgtMy0xLTEtNzE2Mjk_e090982c-d232-45b7-989b-3f49aa975918"
      unitRef="usd">935000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjktMS0xLTEtNzE2Mjk_cb542f7d-0b17-4c8c-8d07-852d7cfe4aba"
      unitRef="usd">67646000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMjktMy0xLTEtNzE2Mjk_874c87db-0713-4418-a077-a52dcdbae2ea"
      unitRef="usd">65827000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzEtMS0xLTEtNzE2Mjk_ba6c8231-f01a-41a8-aaa3-267be0117d29"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzEtMy0xLTEtNzE2Mjk_6c3b3c78-b893-4429-95bf-8419f1417002"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl8xOA_0537ce6e-021a-4b6d-9389-d4a403b40f95"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl8xOA_18ba070d-df66-49d7-b17d-4f1a5ccedfc6"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl8zMg_83a9efd2-b313-4cc6-8f3b-a8afdae40afc"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl8zMg_bd38dcc9-5949-4ef8-b60b-cdcee5110519"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl81NA_634ff0dc-4fcd-4b85-b1bd-d09d2051e025"
      unitRef="shares">67594301</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl81NA_7a7863b0-57e3-4373-92e5-b28fa3435e1c"
      unitRef="shares">67594301</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl82OA_65adc9b8-3757-494c-9060-fa23056443ea"
      unitRef="shares">66767450</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMC0xLTEtNzE2MjkvdGV4dHJlZ2lvbjpmZDAzYzliNDY3MDk0NDkzOTYxMDlkYTc1Yjg0NWE1Nl82OA_eca061b8-7140-4ad2-b893-30dab913cd5c"
      unitRef="shares">66767450</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMS0xLTEtNzE2Mjk_3c084d34-5600-4b22-95bf-c0d982780624"
      unitRef="usd">106000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzQtMy0xLTEtNzE2Mjk_d04a2a3d-faa7-4076-8e31-f0b1e8836602"
      unitRef="usd">105000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzUtMS0xLTEtNzE2Mjk_aba64f5c-0b57-475b-85fa-bcaab79d6103"
      unitRef="usd">388464000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzUtMy0xLTEtNzE2Mjk_78bef1c0-e1c0-4f67-967e-098fa9d318c4"
      unitRef="usd">367153000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzYtMS0xLTEtNzE2Mjk_e36d9f7d-e268-477a-b228-4fcb59176117"
      unitRef="usd">-9000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzYtMy0xLTEtNzE2Mjk_88fcfc17-512d-4479-b9ef-9f7aa1fef990"
      unitRef="usd">-27000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzctMS0xLTEtNzE2Mjk_a8a1f3c8-fc4c-4dfc-a384-c3e0a2346dc8"
      unitRef="usd">-214249000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzctMy0xLTEtNzE2Mjk_242b96e9-6716-42d3-8339-f9fa4f0970b2"
      unitRef="usd">-186977000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzgtMS0xLTEtNzE2Mjk_569affb8-e865-4604-97b7-9f9ab8f0a0e4"
      unitRef="usd">174312000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzgtMy0xLTEtNzE2Mjk_d893c715-4ecc-4ed3-b7e0-9b280275f532"
      unitRef="usd">180254000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzktMS0xLTEtNzE2Mjk_4b4b0ef0-5930-48ff-92ab-6a85793f53e1"
      unitRef="usd">241958000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yMi9mcmFnOjBjNWQzODZmMWU2NzRkMGFhNjdiOWY4YWU2OWUyYmU0L3RhYmxlOjhiOTEwM2JjMWI3MjRkYjU4YTQ0NGVjNjVkNzNjODU1L3RhYmxlcmFuZ2U6OGI5MTAzYmMxYjcyNGRiNThhNDQ0ZWM2NWQ3M2M4NTVfMzktMy0xLTEtNzE2Mjk_b9f412bc-e851-40de-91df-b914098d3f1f"
      unitRef="usd">246081000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMy0xLTEtMS03MTYyOQ_90e31710-70ce-4a7c-8fb2-fd646298dfe3"
      unitRef="usd">-27272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMy0zLTEtMS03MTYyOQ_2ccef2f2-551a-495e-8154-79d51af8b85e"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfNS0xLTEtMS03MTYyOQ_c1aa141b-7d23-49a4-9c82-f99729e4b99c"
      unitRef="usd">29504000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfNS0zLTEtMS03MTYyOQ_8de9b7f8-9a71-4be9-aaa8-7645e31578fc"
      unitRef="usd">35006000</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfNy0xLTEtMS03MTYyOQ_9ea6d47d-ea3d-48e0-ae48-eba33e1fddfb"
      unitRef="usd">2910000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfNy0zLTEtMS03MTYyOQ_1f46c092-47e9-4fdb-ac46-cf121dee0c8d"
      unitRef="usd">2764000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfOS0xLTEtMS03MTYyOQ_16957849-be9d-4fb2-b92e-812317ef3dac"
      unitRef="usd">25000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfOS0zLTEtMS03MTYyOQ_effde0ae-c10a-422e-a6a3-b588a932ede5"
      unitRef="usd">18000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:AccretionExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfOC0xLTEtMS03ODgyMg_aeb905bc-7bc4-4a86-82c3-068702009025"
      unitRef="usd">23000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfOC0zLTEtMS03ODgyMg_83315bf0-e1dc-4426-b0f2-96d0c38c5227"
      unitRef="usd">0</us-gaap:AccretionExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTAtMS0xLTEtNzE2Mjk_b5e2f2d1-f9d0-4594-9ed1-6a89314a229f"
      unitRef="usd">-1000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTAtMy0xLTEtNzE2Mjk_4aa70473-18d0-4bec-be70-59819d648f1c"
      unitRef="usd">-5000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTEtMS0xLTEtNzE2Mjk_678f8393-11e8-42cb-98aa-872a4ae85d15"
      unitRef="usd">66000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTEtMy0xLTEtNzE2Mjk_feb35016-084a-4d40-8428-e21870823165"
      unitRef="usd">11000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryWriteDown
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTItMS0xLTEtODk3MTI_91da5eb3-7938-4849-8b4a-0a78c3538fa8"
      unitRef="usd">-108000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTItMy0xLTEtODk3MTI_91529a93-6e52-4f77-9c5d-e00a4c0ebb38"
      unitRef="usd">14000</us-gaap:InventoryWriteDown>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTQtMS0xLTEtODk3MTk_e6a2dce1-6fc6-4c03-be0f-58ae30935fa0"
      unitRef="usd">-9102000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTQtMy0xLTEtODk3MTk_f26c68cc-f525-4b6e-8170-4235f74410f2"
      unitRef="usd">9595000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTUtMS0xLTEtODk3MTk_1a1ea4cc-55f1-41b5-9101-55be852feadc"
      unitRef="usd">2275000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTUtMy0xLTEtODk3MTk_3612d4fd-71b5-413a-8677-8027dbed42b0"
      unitRef="usd">-1513000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTYtMS0xLTEtODk3MTk_ac22af82-861e-41f0-a287-02cea278b46f"
      unitRef="usd">3324000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTYtMy0xLTEtODk3MTk_85687480-9380-4d51-a4f0-7c4b6bb09aa3"
      unitRef="usd">2417000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTctMS0xLTEtODk3MTk_9c727e73-0711-407d-92d8-acd81dc67967"
      unitRef="usd">567000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTctMy0xLTEtODk3MTk_da2ee7e6-1319-485c-8f1d-1293f621e46b"
      unitRef="usd">1278000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTgtMS0xLTEtODk3MTk_d5fd6201-487d-4c04-af32-ded612a9a8c4"
      unitRef="usd">419000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTgtMy0xLTEtODk3MTk_a23a7fd9-d9eb-4d87-bf4d-f4aff52daae0"
      unitRef="usd">632000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTktMS0xLTEtODk3MTk_cfdc7cfe-f910-4f9a-bf22-3436f0ba411b"
      unitRef="usd">-1582000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTktMy0xLTEtODk3MTk_eebafd59-9a5f-4fce-a38d-306596a9a52a"
      unitRef="usd">271000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjAtMS0xLTEtODk3MTk_e04bf561-ed16-4b3e-953a-a18168997011"
      unitRef="usd">76000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjAtMy0xLTEtODk3MTk_5d565d86-343d-483e-817c-b6a58d99573a"
      unitRef="usd">-432000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTMtMS0xLTEtNzE2Mjk_6477a049-eede-43f3-b43b-7e82cc61eb97"
      unitRef="usd">8132000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTMtMy0xLTEtNzE2Mjk_1aa57a0e-f521-46c6-9373-054a6fc21ad7"
      unitRef="usd">-3354000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTYtMS0xLTEtNzE2Mjk_4ccb43b7-0473-4be8-9a74-6ff2fdd2ad41"
      unitRef="usd">5134000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTYtMy0xLTEtNzE2Mjk_76645352-3ef4-498f-8f68-dc8526085509"
      unitRef="usd">3663000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTctMS0xLTEtNzE2Mjk_a876d35b-5910-456c-ad63-8f7888890966"
      unitRef="usd">641000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTctMy0xLTEtNzE2Mjk_1d854f51-68ab-47ba-8874-29d73d57a742"
      unitRef="usd">1070000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTgtMS0xLTEtNzE2Mjk_aecaeaaa-8bd5-4633-adfe-d8f34e2cc4f6"
      unitRef="usd">-5775000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMTgtMy0xLTEtNzE2Mjk_1b7f29be-8c0a-4c41-95c4-8e24e83f9d2a"
      unitRef="usd">-4733000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjAtMS0xLTEtNzg3OTk_0ec86738-727d-452c-8287-1ac7f6fa3e76"
      unitRef="usd">710000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjAtMy0xLTEtNzg3OTk_a5536b47-7aed-40be-a94a-1a4ee9f6cc9e"
      unitRef="usd">650000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjEtMS0xLTEtNzg4MTM_a1426363-e68d-431c-805f-b30723046183"
      unitRef="usd">2886000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjEtMy0xLTEtNzg4MTM_7a09183d-eaa7-4590-87df-99fd59d63025"
      unitRef="usd">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjItMS0xLTEtODQyMTE_5b42118c-be23-4898-a228-f95312014119"
      unitRef="usd">2603000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjItMy0xLTEtODQyMTE_7a9ba569-af33-43e1-aa28-096afbc86926"
      unitRef="usd">1251000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjEtMS0xLTEtNzE2Mjk_5c05a898-cfd6-40c3-9b00-58f9e25a316f"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjEtMy0xLTEtNzE2Mjk_8c904cfc-c62b-475e-9890-28d587e2ec81"
      unitRef="usd">64269000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjItMS0xLTEtNzE2Mjk_f7905bff-dfc4-4788-84fa-652fdc1bd6db"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjItMy0xLTEtNzE2Mjk_b67a918f-c51a-43d0-9e09-56124bb18df0"
      unitRef="usd">26894000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjYtMS0xLTEtNzE2Mjk_822f1445-da57-42b9-b1f0-f0ad65950302"
      unitRef="usd">0</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjYtMy0xLTEtNzE2Mjk_e03dd79b-77ee-4d82-b92d-9a7c35cb0708"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjctMS0xLTEtNzE2Mjk_545ca6ee-9158-40d0-b39e-f2f035b96b95"
      unitRef="usd">-6199000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjctMy0xLTEtNzE2Mjk_7d93c751-1515-4f8c-8271-4b4a3cea44ca"
      unitRef="usd">33038000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjktMS0xLTEtNzE2Mjk_b6658f91-01cf-4d81-8260-05fd0de8f72b"
      unitRef="usd">-3842000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMjktMy0xLTEtNzE2Mjk_f0a5884b-a39a-4424-afed-da27b4f6765d"
      unitRef="usd">24951000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMzAtMS0xLTEtNzE2Mjk_41f411c7-07c1-48cf-89b8-991d9f736a43"
      unitRef="usd">126562000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib0adf5bbcd514fe1b22a7db986966619_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMzAtMy0xLTEtNzE2Mjk_2518b71a-7b50-4185-9369-1153366a8625"
      unitRef="usd">106045000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMzItMS0xLTEtNzE2Mjk_89ee34b8-0d21-44e9-ade9-bf5f21a915fe"
      unitRef="usd">122720000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i354beeb1944a480087d077d19de09ba3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yNS9mcmFnOjQxNmQ1YmI4YWE2YTQyYTJiYzY1NGFkY2QwNDM1MGUyL3RhYmxlOjY1MWUzMDhkOThmNDRjOWVhMTc3ZmVlZGFkZGQ3ZWQzL3RhYmxlcmFuZ2U6NjUxZTMwOGQ5OGY0NGM5ZWExNzdmZWVkYWRkZDdlZDNfMzItMy0xLTEtNzE2Mjk_c038e9dd-1616-47da-9d7d-3c77ba93e6bc"
      unitRef="usd">130996000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i2a05116f5fec4d6db9357fc43d13e538_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMy0xLTEtMS03MjYzNg_306b0918-79a9-4f5c-96cd-e38d38cc13f6"
      unitRef="shares">67867000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i2a05116f5fec4d6db9357fc43d13e538_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMi0xLTEtMS03MTYyOQ_87b50b2e-6108-48c0-b414-e3d7aec686f2"
      unitRef="usd">106000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idc34066167144ba7aee359ab85f462c4_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMi0zLTEtMS03MTYyOQ_da06f783-c3e6-4c8a-98bf-7eab50499a05"
      unitRef="usd">376913000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie16047dfd894452ba5abf3b880256bed_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMi01LTEtMS03MTYyOQ_061b8428-47f8-4f53-bd81-cf1aa725fba1"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic6c8880113844637b63f376366850b1c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMi03LTEtMS03MTYyOQ_c46be05b-87ac-4195-96e4-5fd4c0a236a3"
      unitRef="usd">-201960000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i41ff0bdfbbbc49d49b516dc1635c35f1_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMi0xMS0xLTEtNzE2Mjk_73199130-a28c-442f-8e61-5ef8b177cdf5"
      unitRef="usd">175061000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ifc5c2b75b7134ad8949f2894aed6b515_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMy03LTEtMS03MTYyOQ_427e025d-a108-4671-ae3c-4a4cd97befa8"
      unitRef="usd">-12289000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMy0xMS0xLTEtNzE2Mjk_ab91c0bd-79b6-40c3-a6ef-c2a1ad8f2fb9"
      unitRef="usd">-12289000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ib2e2a4f2de4a4a72b51382338447bfdb_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNS01LTEtMS03MTYyOQ_dd83ca65-d290-46ce-bc41-22817a04e87a"
      unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNS0xMS0xLTEtNzE2Mjk_df9f33f8-391a-4e18-9ff4-10b9a5ca02b1"
      unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1a6c3c5afe69493ca90f414ad1cc9cae_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNi01LTEtMS04NzkwMQ_dd61dc90-eca0-41e3-8cc5-4af380a949fe"
      unitRef="usd">14553000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNi0xMS0xLTEtODc5MDE_17aa1feb-8b24-48ca-97e2-b0579d3f98bd"
      unitRef="usd">14553000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i7b1b2d351b3646d4b5844930e53d0a8c_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNi0xLTEtMS04MjY5MQ_3e1dfe60-58d3-4a94-87b4-76f10c2c02a7"
      unitRef="shares">360000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i1a6c3c5afe69493ca90f414ad1cc9cae_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNi01LTEtMS04MjY5MQ_12b84344-0273-4beb-a3ce-43261f20e238"
      unitRef="usd">3002000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNi0xMS0xLTEtODI2OTE_306c7da6-1521-474f-8bb1-06d4d89d976b"
      unitRef="usd">3002000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i7b1b2d351b3646d4b5844930e53d0a8c_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNy0xLTEtMS04MjY5Nw_5f03411f-0e1b-42bf-b527-b845fe9ef7c9"
      unitRef="shares">87000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib1ba870e2360448a8983390e78a697e7_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfNy0xLTEtMS03MjYzNg_27b589f8-2732-4b41-a064-877ca8d34ad3"
      unitRef="shares">67594000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib1ba870e2360448a8983390e78a697e7_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfOS0xLTEtMS03MTYyOQ_6d869886-f164-4bde-be05-7040d5ab8a62"
      unitRef="usd">106000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7e357ed1cf5c4901945928fb908e8fda_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfOS0zLTEtMS03MTYyOQ_25a90601-17cf-4a01-822a-b7642e16ba57"
      unitRef="usd">388464000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i43b05a7749b547a496f392b620976805_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfOS01LTEtMS03MTYyOQ_7ec789a0-055d-459c-b1e6-eb8c336d2d30"
      unitRef="usd">-9000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib2f30153153b4ecd8e08f81f86676559_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfOS03LTEtMS03MTYyOQ_4bf2216c-2feb-44b1-a578-182977766beb"
      unitRef="usd">-214249000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfOS0xMS0xLTEtNzE2Mjk_6b72d3aa-b4bf-44fb-99b4-c1f2ec5ad914"
      unitRef="usd">174312000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iec8bf15a61d94b88bfecc0c4bb21c5c9_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTItMS0xLTEtNzI0NzI_d3ddb60f-7cac-4819-9ce4-0d946f2bf3f5"
      unitRef="shares">64625000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iec8bf15a61d94b88bfecc0c4bb21c5c9_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTEtMS0xLTEtNzE2Mjk_fdebcf0a-04aa-4a3d-9b6c-ab8172281aba"
      unitRef="usd">103000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia3ac03db0fbd438daa5ca8c89e4e280c_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTEtMy0xLTEtNzE2Mjk_285a772f-effa-453c-b763-42d405647a0a"
      unitRef="usd">284470000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id536d25b2dd74b18b17f115518886b26_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTEtNS0xLTEtNzE2Mjk_3d439bdd-9ae1-461c-88bf-755f8172b690"
      unitRef="usd">12000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5e9700569e4840a383eb8604f18c676d_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTEtNy0xLTEtNzE2Mjk_29ad7106-22ae-47dd-bf33-56670e0407b3"
      unitRef="usd">-158621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0a45e51a4d6848979df3e5c087cf0482_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTEtMTEtMS0xLTcxNjI5_5808222a-5348-4348-aba1-b0a2f8d31536"
      unitRef="usd">125964000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i0b86548dfa634646874e9a16b78c1158_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTItNy0xLTEtNzE2Mjk_be66b45e-8350-4e6d-90fe-5d892a5ae318"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTItMTEtMS0xLTcxNjI5_6f33290f-c823-4a32-a932-c77fec3bdefc"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i45e11d230f314ed28315cd8d8c0b76de_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTQtMS0xLTEtNzI1NDk_6aa238d3-dae4-42de-a92b-7aa5ea822029"
      unitRef="shares">2050000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i45e11d230f314ed28315cd8d8c0b76de_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTQtMy0xLTEtNzI0NzI_25255627-47f2-4902-986f-33800e210de4"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iae1a7968c6d64683a922bc54e6104137_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTQtNS0xLTEtNzI0NzI_d959f0db-59c6-4a19-ad98-209c3b583211"
      unitRef="usd">64267000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTQtMTEtMS0xLTcyNDcy_91d193c5-757f-4fdf-b1a6-ba71b43f556b"
      unitRef="usd">64269000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ic00e421c7b2a4b188de58bbe078a97b2_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTMtNS0xLTEtNzE2Mjk_8fd93ae9-89fb-46bf-b090-e03bd4f7a1ce"
      unitRef="usd">5000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTMtMTEtMS0xLTcxNjI5_938ef256-90b6-412f-9872-b6d4bdb407f1"
      unitRef="usd">5000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iae1a7968c6d64683a922bc54e6104137_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTYtNS0xLTEtNzI0NzI_34b12e27-680d-4e01-af57-ce63260dbe92"
      unitRef="usd">21336000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTYtMTEtMS0xLTcyNDcy_8cc2768b-f43d-40ff-ad96-817d9fbb9261"
      unitRef="usd">21336000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="iae1a7968c6d64683a922bc54e6104137_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTctNS0xLTEtNzI0NzI_08e447fa-0ea5-413b-bcfc-b0837a1b5a43"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTctMTEtMS0xLTcyNDcy_28cf338a-075a-4c73-8c83-44db3e5c8706"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i45e11d230f314ed28315cd8d8c0b76de_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTgtMS0xLTEtNzI1NDk_62348235-74f5-402a-8739-02905bd203eb"
      unitRef="shares">40000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="iae1a7968c6d64683a922bc54e6104137_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTQtMy0xLTEtNzE2Mjk_f4221313-0ff3-457c-97e2-63892cebc59f"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTQtMTEtMS0xLTcxNjI5_59bdb259-b252-4657-b66c-56064f51c89f"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i68a0e6d7c5fb47b79925fbda242f7793_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTktMS0xLTEtNzI0NzI_41e6cefc-5a0a-4e42-8d4d-6d83180dad88"
      unitRef="shares">66635000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i68a0e6d7c5fb47b79925fbda242f7793_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTUtMS0xLTEtNzE2Mjk_c57c32d1-7afe-40b3-87da-44786084ac16"
      unitRef="usd">105000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i99ea18fa17e349938dd84ad8d507673f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTUtMy0xLTEtNzE2Mjk_de50fc5a-76b9-4762-9ae2-9beb8d8e3812"
      unitRef="usd">341928000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i97d8b62bc3c64832bf37512215fabd32_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTUtNS0xLTEtNzE2Mjk_f012b0d9-d4b9-4a76-98a8-a8c82c65b8f7"
      unitRef="usd">17000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7708cdaed1a7437e983f72ac097aaf08_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTUtNy0xLTEtNzE2Mjk_4f70c336-b2e4-4749-8c13-99c56264e712"
      unitRef="usd">-176265000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i354beeb1944a480087d077d19de09ba3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOmZhNjliYmM2YzYwYjQ1NmE5Y2EzYWIzODhlOGM3ZWQ3L3RhYmxlcmFuZ2U6ZmE2OWJiYzZjNjBiNDU2YTljYTNhYjM4OGU4YzdlZDdfMTUtMTEtMS0xLTcxNjI5_4e4ac0a1-ece6-419d-8511-975ea159e750"
      unitRef="usd">165785000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iea04436ea0c44655b30b7babac687055_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjAtMS0xLTEtODY0MDU_41cc7225-6d6d-48f1-8939-4cf44477cac8"
      unitRef="shares">66767000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iea04436ea0c44655b30b7babac687055_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjAtMy0xLTEtODY0MDU_e01545e4-944b-469e-8b85-4c65e411f815"
      unitRef="usd">105000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifb5d176355fe4f6fb2eeccd3aee8c237_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjAtNS0xLTEtODY0MDU_23fc6690-d50c-441c-a6cc-72d4b5a4d105"
      unitRef="usd">367153000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i396d2375440448788676d7377d4534d0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjAtNy0xLTEtODY0MDU_423da78f-2fd7-46e0-a918-a2ddc02ec316"
      unitRef="usd">-27000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ice5d0dc826954761a71f29d588a0c1ae_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjAtOS0xLTEtODY0MDU_cf4d0fbb-189e-43cd-818d-4f69ca7981e8"
      unitRef="usd">-186977000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjAtMTEtMS0xLTg2NDA1_ee963d8c-586c-4922-978a-d8f551a5aa4a"
      unitRef="usd">180254000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i6a94161e4f3247f58423e697e329fe35_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjEtOS0xLTEtODY0MDU_c91caf50-b487-4865-93e0-fa2c8b335771"
      unitRef="usd">-27272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjEtMTEtMS0xLTg2NDA1_2c63d841-fc27-48b8-b320-0068b622c2c4"
      unitRef="usd">-27272000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="iba9d316eddcf405bb8c34044317db0ce_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjItNy0xLTEtODY0MDU_f5a9fe60-81ca-4af5-9f69-0fa018703b8c"
      unitRef="usd">18000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjItMTEtMS0xLTg2NDA1_ced98c69-197b-4030-8356-594ad6a26313"
      unitRef="usd">18000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1570ad9f83b241fa8f0aff758615c6d2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfNi01LTEtMS04NzkyNQ_ad4cdab2-e789-4922-9967-67532a779b3f"
      unitRef="usd">27200000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfNi0xMS0xLTEtODc5MjU_744df2ca-acc0-4474-b347-048fc490f8f1"
      unitRef="usd">27200000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="iad735464e44b407f88c9a5d256b7efcb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjMtMS0xLTEtODY0MDU_47b5559a-678b-45c0-8571-e0b9c3189d84"
      unitRef="shares">360000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i1570ad9f83b241fa8f0aff758615c6d2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjMtNS0xLTEtODY0MDU_5daf3cbb-cee2-4cec-b823-3cbf8e2b77ac"
      unitRef="usd">3002000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjMtMTEtMS0xLTg2NDA1_0c7a7c86-4540-40f0-9f0b-3b3b37289dd0"
      unitRef="usd">3002000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="iad735464e44b407f88c9a5d256b7efcb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjQtMS0xLTEtODY0MDU_83faafb6-7f68-4314-ad82-08bd557da931"
      unitRef="shares">1187000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="iad735464e44b407f88c9a5d256b7efcb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjQtMy0xLTEtODY0MDU_9cdb8b57-f4b7-40e9-9d3e-bbabc24167a5"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i1570ad9f83b241fa8f0aff758615c6d2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjQtNS0xLTEtODY0MDU_2d7bc02b-9a83-4ffb-972c-eebfa372fda5"
      unitRef="usd">-2887000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjQtMTEtMS0xLTg2NDA1_3f05ea03-0f8e-4949-86bf-da660215b712"
      unitRef="usd">-2886000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib1ba870e2360448a8983390e78a697e7_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjYtMS0xLTEtODY0MDU_e6b55523-efb5-4c3e-a612-20947a1f6747"
      unitRef="shares">67594000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib1ba870e2360448a8983390e78a697e7_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjYtMy0xLTEtODY0MDU_9ace429a-44ab-4740-9e7b-a9731b600a55"
      unitRef="usd">106000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7e357ed1cf5c4901945928fb908e8fda_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjYtNS0xLTEtODY0MDU_6cd12dd6-5fdd-4763-b3c5-c634781e780a"
      unitRef="usd">388464000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i43b05a7749b547a496f392b620976805_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjYtNy0xLTEtODY0MDU_aa9f2717-e63b-46f0-9f7a-2b6d177b934c"
      unitRef="usd">-9000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib2f30153153b4ecd8e08f81f86676559_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjYtOS0xLTEtODY0MDU_44c3a837-9d86-42b2-97f3-a38513cf7a03"
      unitRef="usd">-214249000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjYtMTEtMS0xLTg2NDA1_2b6df19f-dcd4-4886-8b97-99179dd8da5f"
      unitRef="usd">174312000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i2ad20807a6254ea499bc3e2151864ca3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjgtMS0xLTEtODY0MDU_e555106a-8bea-445a-9b61-ce383484dedd"
      unitRef="shares">64625000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i2ad20807a6254ea499bc3e2151864ca3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjgtMy0xLTEtODY0MDU_d86f74b9-8d2c-4c21-8bbe-968e2254fdcb"
      unitRef="usd">103000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id5c5f3923c3e49e5bce08b78708cf087_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjgtNS0xLTEtODY0MDU_3e21a4a2-9b87-4d8c-8e92-cc8328dc2fae"
      unitRef="usd">270800000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie78079eb926348e0a3bf621116eb3b73_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjgtNy0xLTEtODY0MDU_e810e8ac-abfd-4d56-9765-d79ade5908b3"
      unitRef="usd">44000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7c05f346348142fd8cae83db483ef73d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjgtOS0xLTEtODY0MDU_50639979-ec4f-410d-82e2-074e48376bc5"
      unitRef="usd">-143843000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib0adf5bbcd514fe1b22a7db986966619_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjgtMTEtMS0xLTg2NDA1_359cff90-76d7-498a-a5e2-6e7280b95d44"
      unitRef="usd">127104000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i07ee3611020341cc8f6c9413c5ddd9c0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjktOS0xLTEtODY0MDU_05eec9f0-73cf-4fa1-9aa3-0ba1e45a69e6"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMjktMTEtMS0xLTg2NDA1_e4849826-61dc-4305-aeb5-e449ea91f4d6"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="iae00ed8fb0ec4dcc8a6b634af03e9de2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzAtMS0xLTEtODY0MDU_2ede2251-b416-4ff7-9381-d1f5b2059626"
      unitRef="shares">2050000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iae00ed8fb0ec4dcc8a6b634af03e9de2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzAtMy0xLTEtODY0MDU_ebb2710e-6501-4ada-812f-f7f89c33ec89"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i376d21a201e04668a0c645fa03b2859a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzAtNS0xLTEtODY0MDU_94f22bc7-9079-4a52-92a9-197079e24cb4"
      unitRef="usd">64267000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzAtMTEtMS0xLTg2NDA1_4664ba82-78a8-4f00-9d84-9b7933e134f0"
      unitRef="usd">64269000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i7f93ad51b9334859ac127b38f342bb46_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzEtNy0xLTEtODY0MDU_0d25ec5b-77dd-4599-88d3-fc462f807c44"
      unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzEtMTEtMS0xLTg2NDA1_9b64cf10-557e-49ba-a4ef-97141f7e5f05"
      unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i376d21a201e04668a0c645fa03b2859a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzItNS0xLTEtODY0MDU_bab788e0-3db7-47eb-88ce-dd38f4d97046"
      unitRef="usd">35006000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzItMTEtMS0xLTg2NDA1_89b4d4d0-352d-4340-9581-870e084cdb79"
      unitRef="usd">35006000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="i376d21a201e04668a0c645fa03b2859a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzMtNS0xLTEtODY0MDU_0a12c82c-21ec-4be7-96ca-a2e3f53a5a0a"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzMtMTEtMS0xLTg2NDA1_dcfa1c86-6474-4958-8592-4cce1cacf82f"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="iae00ed8fb0ec4dcc8a6b634af03e9de2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzQtMS0xLTEtODY0MDU_dfe8e468-3335-4fbd-aa9d-c6289c27913d"
      unitRef="shares">40000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i376d21a201e04668a0c645fa03b2859a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzQtNS0xLTEtODY0MDU_f0a23999-00a4-4232-968e-4b3305871b61"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzQtMTEtMS0xLTg2NDA1_426abf2f-2e02-4858-a392-2c6f7882bbdf"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i68a0e6d7c5fb47b79925fbda242f7793_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzUtMS0xLTEtODY0MDU_3573f8f5-4dca-4d96-ac0e-0dd07d0ffdc9"
      unitRef="shares">66635000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i68a0e6d7c5fb47b79925fbda242f7793_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzUtMy0xLTEtODY0MDU_3b0d0829-fb2b-49a8-9314-727771a876a1"
      unitRef="usd">105000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i99ea18fa17e349938dd84ad8d507673f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzUtNS0xLTEtODY0MDU_66b2ac1f-8423-4001-aef3-1b85eb3fb0f0"
      unitRef="usd">341928000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i97d8b62bc3c64832bf37512215fabd32_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzUtNy0xLTEtODY0MDU_1d38953e-7805-49c1-b40d-bb08a46807a7"
      unitRef="usd">17000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7708cdaed1a7437e983f72ac097aaf08_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzUtOS0xLTEtODY0MDU_293a867b-2546-48a1-9544-46dfdfd4a943"
      unitRef="usd">-176265000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i354beeb1944a480087d077d19de09ba3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8yOC9mcmFnOjlhNzU1NzAyZDJmZTQ1ODRiMWU3MmM3YTI2ZGQ5NzBlL3RhYmxlOjZlZDY5Y2Y0NmQ1MTRiNDFhMjYyZGZhMzIzYTA4ZDJjL3RhYmxlcmFuZ2U6NmVkNjljZjQ2ZDUxNGI0MWEyNjJkZmEzMjNhMDhkMmNfMzUtMTEtMS0xLTg2NDA1_c32bea77-01de-48ce-b989-75947e8da542"
      unitRef="usd">165785000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzE3NTU_a15fb446-6f6b-4b07-8b10-cf597ccbea40">ORGANIZATION&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Telos Corporation, together with its subsidiaries (collectively, the "Company," "we," "our" or "Telos"), a Maryland corporation, is a leading provider of cyber, cloud and enterprise security solutions for the world's most security-conscious organizations. &#160; We own all of the issued and outstanding share capital of Xacta Corporation, a subsidiary that develops, markets and sells government-validated secure enterprise solutions to government and commercial customers. We also own all of the issued and outstanding share capital of Ubiquity.com, Inc., a holding company for Xacta Corporation. We also have a 100% ownership interest in Telos Identity Management Solutions, LLC (&#x201c;Telos ID&#x201d;), Teloworks, Inc. (&#x201c;Teloworks&#x201d;) and Telos APAC Pte. Ltd. (&#x201c;Telos APAC&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;12, 2020, we amended our charter to effect an approximate&#160;0.794-for-1 reverse stock split with respect to our common stock. The par value and the authorized shares of the common stock were not adjusted as a result of the reverse stock split. The accompanying consolidated financial statements and notes to the consolidated financial statements give retroactive effect to the reverse stock split for all periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;19, 2020, we completed our initial public offering ("IPO") of shares of our common stock. We issued 17.2&#160;million shares of our common stock at a price of $17.00 per share, generating net proceeds of approximately $272.8&#160;million.&#160; We used approximately $108.9&#160;million of the net proceeds in connection with the conversion of our outstanding shares of Exchangeable Redeemable Preferred Stock into the right to receive cash and shares of our common stock, $30.0&#160;million to fund our acquisition of the outstanding Class&#160;B Units of Telos ID, and $21.0 million to repay our outstanding senior term loan and subordinated debt.&#160; We intend to use the remaining net proceeds for general corporate purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;6, 2021, we completed our follow-on offering of 9.1&#160;million shares of our common stock at a price of $33.00 per share, including 7.0&#160;million shares of common stock held by certain existing stockholders of Telos. The offering generated approximately $64.3&#160;million of net proceeds to Telos. We did not receive any proceeds from the shares of common stock sold by the selling stockholders. On April&#160;19, 2021, we used approximately $1.3&#160;million of the net proceeds to repurchase 39,682 shares of our common stock and $26.9 million to repurchase the warrants to purchase 900,970 shares of our common stock owned by certain affiliates of Enlightenment Capital Solutions ("EnCap"). We intend to use the remaining net proceeds for general corporate purposes.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i2b9710835b514f419bc20f8da2a20351_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfNjcx_d0c9c12a-6aa8-4ecd-a21f-2a4615697da2"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ib5a383760f9f42f8b19c3bcf90c5d9fc_D20201112-20201112"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfODc3_8c0a0d7b-8c28-490e-998f-05f20f7aa456"
      unitRef="number">0.794</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ice00b72362c1423ba60b328e756121b1_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzM0Ng_ab7eafb4-a951-452f-8d3e-93768e14810f"
      unitRef="shares">17200000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="iaadab27a62e1466a954389f7a941eeab_I20201119"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzM5MA_b26af3f2-9920-4cee-aa67-0e66c34c0e55"
      unitRef="usdPerShare">17.00</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="ice00b72362c1423ba60b328e756121b1_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzQ0NQ_2d48079c-5b1a-457b-a491-4a068551768e"
      unitRef="usd">272800000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="ib3730fb637cf416d9bbf2c5d7a8e0299_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzQ3Mg_0512c97f-84e4-48e5-b7fa-b35d878372ba"
      unitRef="usd">108900000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i476e713a1e114d70a9964df907ae7407_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzY2MQ_b53646f6-011d-4899-b2be-3b4e1dbab3d7"
      unitRef="usd">30000000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:RepaymentsOfDebt
      contextRef="ice00b72362c1423ba60b328e756121b1_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMzczOA_bdd6a69e-b679-4625-b233-f6c7977da792"
      unitRef="usd">21000000</us-gaap:RepaymentsOfDebt>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i61f4c91b551f45c1882b8ca0451973d0_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfNDE1Mg_46559a63-1e09-4040-9f17-09e74b61fb1a"
      unitRef="shares">9100000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="id402bd8fca2141fdade2da45f2df3c6b_I20210406"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfNDE5Ng_6e6342e5-3497-4432-91b3-1f06c4930882"
      unitRef="usdPerShare">33.00</us-gaap:SaleOfStockPricePerShare>
    <tls:SaleOfStockNumberOfSharesIssuedByCertainExistingShareholders
      contextRef="i61f4c91b551f45c1882b8ca0451973d0_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfNDIyMA_871dd726-aebc-442b-8fe3-62d1049711d6"
      unitRef="shares">7000000</tls:SaleOfStockNumberOfSharesIssuedByCertainExistingShareholders>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i61f4c91b551f45c1882b8ca0451973d0_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMTA5OTUxMTcxODk4Nw_5ccb2896-d765-4b49-8a12-4b216b35519b"
      unitRef="usd">64300000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="id280034b79be4ad7bb2d5e1952fcb0a5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfNDQ4Nw_73cea39b-1bbb-49e6-a1d5-63d624af298e"
      unitRef="usd">1300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="id280034b79be4ad7bb2d5e1952fcb0a5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMTA5OTUxMTcxODk5Mg_60f87040-2d0d-4a8d-8288-30ca42a83df6"
      unitRef="shares">39682</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="id280034b79be4ad7bb2d5e1952fcb0a5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfNDU1OA_dc7e9070-34e7-4132-9e46-114b52a455f6"
      unitRef="usd">26900000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <tls:WarrantRepurchasedDuringPeriodShares
      contextRef="id280034b79be4ad7bb2d5e1952fcb0a5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8zNC9mcmFnOjZjYWIzYWRkNzFlYzQ4NGE4NzEzODM2Y2Q1YWU3NGNjL3RleHRyZWdpb246NmNhYjNhZGQ3MWVjNDg0YTg3MTM4MzZjZDVhZTc0Y2NfMTA5OTUxMTcxODk5Ng_f98b93a8-4b64-4d10-8a5c-bc68f14521a1"
      unitRef="shares">900970</tls:WarrantRepurchasedDuringPeriodShares>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjEyL2ZyYWc6OThhY2NlNGEyNjk4NDFiMjg1YmVmZWE5YmE1N2Y1YjcvdGV4dHJlZ2lvbjo5OGFjY2U0YTI2OTg0MWIyODViZWZlYTliYTU3ZjViN18zMjk4NTM0OTM4ODUx_214bea00-4300-4e93-bf90-49aee0f49fa0">SIGNIFICANT ACCOUNTING POLICIES&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(a)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24.91pt"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited consolidated financial statements include the accounts of Telos and its subsidiaries, including Ubiquity.com, Inc., Xacta Corporation, Telos ID, Teloworks, and Telos APAC, all of whose issued and outstanding share capital is wholly-owned directly and indirectly by Telos Corporation. All intercompany transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(b)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24.34pt"&gt;Basis of Presentation for Interim Periods&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain information and footnote disclosures normally included for the annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America ("U.S. GAAP") have been condensed or omitted for the interim periods presented. We believe that the unaudited interim financial statements include all adjustments (which are normal and recurring in nature) necessary to state fairly our financial position and the results of operations and cash flows for the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of operations for the interim periods presented are not necessarily indicative of results that may be expected for the year or future periods. The financial statements should be read in conjunction with our audited consolidated financial statements and the notes thereto for the year ended December 31, 2021, included in our Annual Report on Form 10-K for the fiscal year then ended (the "2021 10-K"). We have continued to follow the accounting policies set forth in those financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(c)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24.91pt"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are defined as components of an enterprise for which separate discrete financial information is available and evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;), or decision-making group, in deciding how to allocate resources and assess performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the fourth quarter of 2021, we reorganized our internal management reporting structure and the financial results evaluated by our CODM; therefore, we changed our operating segments to align with how our CODM currently oversees the business, allocates resources and evaluates operating performance. As a result of the segment reorganization, we reported two reportable and operating segments: Security Solutions and Secure Networks. The segments enable the alignment of our strategies and objectives and provide a framework for timely and rational allocation of resources within the lines of business. We eliminate any inter-segment revenues and expenses upon consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior period segment information has been recast to reflect the change. The segment reorganization had no impact on previously reported unaudited consolidated financial results.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;(d)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:25.52pt"&gt;Basis of Comparison &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;&#x2013; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Revision of Previously Issued Interim Financial Statements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded certain revisions related to the previously issued unaudited condensed consolidated financial statements. The Company considered the errors identified in accordance with the SEC's Staff Accounting Bulletin No. 99 and determined the impact was immaterial to the previously issued condensed consolidated interim financial statements. Nonetheless, the Company corrected these errors when identified in 2021.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;During the third quarter of 2021, the Company identified out-of-period adjustments on certain revenue and expense classification. Further, we corrected the cash flow presentation to properly reflect the final payment to fully acquire all of the membership interest of Telos ID as financing activities. Further information regarding the misstatements and related revisions are included in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1140" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;Note 1&lt;/a&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1140" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;8&lt;/a&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1140" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt; &lt;/a&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;&#x2013;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1140" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt; R&lt;/a&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1140" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%;text-decoration:underline"&gt;evision of Prior Year Interim Financial Statements&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; to the condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(e)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24.91pt"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of unaudited consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of revenue, expenses, assets and liabilities and disclosure of contingent assets and liabilities. The Company regularly assesses these estimates; however, actual results could differ from those estimates. We base our estimates on historical experience, currently available information and various other assumptions that we believe are reasonable under the circumstances. The most significant items involving management estimates include estimates of revenue recognition, allowance for credit losses, allowance for inventory obsolescence, the valuation allowance for deferred tax assets, the provision for income taxes, share-based compensation, contingencies and litigation, and valuation of intangibles and goodwill. The impact of changes in estimates is recorded in the period in which they become known.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(f) &#160;&#160;&#160;&#160;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes to U.S. GAAP are established by the Financial Accounting Standards Board ("FASB") in the form of Accounting Standards Updates ("ASUs") to the FASB's Accounting Standards Codification ("ASC"). We consider the applicability and impact of all recent ASUs. ASUs not listed below were assessed and determined to be not applicable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2021, the FASB issued ASU No. 2021-08, &#x201c;Business Combination (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers,&#x201d; which requires entities to apply Topic 606 to recognize and measure contract assets and contract liabilities in a business combination. The ASU improves comparability after the business combination by providing consistent recognition and measurement guidance for revenue contracts with customers acquired in a business combination and revenue contracts with customers not acquired in a business combination. Entities should apply the amendments prospectively to business combinations that occur after the effective date. This standard will be effective for reporting periods beginning after December 15, 2022, with early adoption permitted. While we are currently assessing the impact of the adoption of this ASU, we do not believe the adoption of this ASU will have a material impact on our unaudited consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2022, the FASB issued ASU No. 2022-03, "Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions," which clarifies that a contractual restriction on the sale of an equity security is not considered part of the unit of account of the equity security and, therefore, is not considered in measuring fair value. This standard will be effective for reporting periods beginning December 15, 2023, with early adoption permitted. While we are currently assessing the impact of the adoption of this ASU, we do not believe the adoption of this ASU will have a material impact on our unaudited consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjEyL2ZyYWc6OThhY2NlNGEyNjk4NDFiMjg1YmVmZWE5YmE1N2Y1YjcvdGV4dHJlZ2lvbjo5OGFjY2U0YTI2OTg0MWIyODViZWZlYTliYTU3ZjViN18zMjk4NTM0OTM4ODQ3_fe2b8d24-14b8-4246-9980-0db9f940f834">The accompanying unaudited consolidated financial statements include the accounts of Telos and its subsidiaries, including Ubiquity.com, Inc., Xacta Corporation, Telos ID, Teloworks, and Telos APAC, all of whose issued and outstanding share capital is wholly-owned directly and indirectly by Telos Corporation. All intercompany transactions have been eliminated in consolidation.</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjEyL2ZyYWc6OThhY2NlNGEyNjk4NDFiMjg1YmVmZWE5YmE1N2Y1YjcvdGV4dHJlZ2lvbjo5OGFjY2U0YTI2OTg0MWIyODViZWZlYTliYTU3ZjViN18zMjk4NTM0OTM4ODQ4_de8205ba-5264-45b7-85a3-e011ab558fe7">Operating segments are defined as components of an enterprise for which separate discrete financial information is available and evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;), or decision-making group, in deciding how to allocate resources and assess performance.&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the fourth quarter of 2021, we reorganized our internal management reporting structure and the financial results evaluated by our CODM; therefore, we changed our operating segments to align with how our CODM currently oversees the business, allocates resources and evaluates operating performance. As a result of the segment reorganization, we reported two reportable and operating segments: Security Solutions and Secure Networks. The segments enable the alignment of our strategies and objectives and provide a framework for timely and rational allocation of resources within the lines of business. We eliminate any inter-segment revenues and expenses upon consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior period segment information has been recast to reflect the change. The segment reorganization had no impact on previously reported unaudited consolidated financial results.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjEyL2ZyYWc6OThhY2NlNGEyNjk4NDFiMjg1YmVmZWE5YmE1N2Y1YjcvdGV4dHJlZ2lvbjo5OGFjY2U0YTI2OTg0MWIyODViZWZlYTliYTU3ZjViN180Mzk4MDQ2NTM1ODU4_1ae096a9-5c22-48cc-9923-e8df5f66576e"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:UseOfEstimates
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjEyL2ZyYWc6OThhY2NlNGEyNjk4NDFiMjg1YmVmZWE5YmE1N2Y1YjcvdGV4dHJlZ2lvbjo5OGFjY2U0YTI2OTg0MWIyODViZWZlYTliYTU3ZjViN18zMjk4NTM0OTM4ODUw_4ddcf1c0-1ccb-4218-a833-af6aab631298">The preparation of unaudited consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of revenue, expenses, assets and liabilities and disclosure of contingent assets and liabilities. The Company regularly assesses these estimates; however, actual results could differ from those estimates. We base our estimates on historical experience, currently available information and various other assumptions that we believe are reasonable under the circumstances. The most significant items involving management estimates include estimates of revenue recognition, allowance for credit losses, allowance for inventory obsolescence, the valuation allowance for deferred tax assets, the provision for income taxes, share-based compensation, contingencies and litigation, and valuation of intangibles and goodwill. The impact of changes in estimates is recorded in the period in which they become known.</us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjEyL2ZyYWc6OThhY2NlNGEyNjk4NDFiMjg1YmVmZWE5YmE1N2Y1YjcvdGV4dHJlZ2lvbjo5OGFjY2U0YTI2OTg0MWIyODViZWZlYTliYTU3ZjViN18zMjk4NTM0OTM4ODQ5_09aea910-fc52-48b0-a54a-398ae2a3fe4d">&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes to U.S. GAAP are established by the Financial Accounting Standards Board ("FASB") in the form of Accounting Standards Updates ("ASUs") to the FASB's Accounting Standards Codification ("ASC"). We consider the applicability and impact of all recent ASUs. ASUs not listed below were assessed and determined to be not applicable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2021, the FASB issued ASU No. 2021-08, &#x201c;Business Combination (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers,&#x201d; which requires entities to apply Topic 606 to recognize and measure contract assets and contract liabilities in a business combination. The ASU improves comparability after the business combination by providing consistent recognition and measurement guidance for revenue contracts with customers acquired in a business combination and revenue contracts with customers not acquired in a business combination. Entities should apply the amendments prospectively to business combinations that occur after the effective date. This standard will be effective for reporting periods beginning after December 15, 2022, with early adoption permitted. While we are currently assessing the impact of the adoption of this ASU, we do not believe the adoption of this ASU will have a material impact on our unaudited consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2022, the FASB issued ASU No. 2022-03, "Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions," which clarifies that a contractual restriction on the sale of an equity security is not considered part of the unit of account of the equity security and, therefore, is not considered in measuring fair value. This standard will be effective for reporting periods beginning December 15, 2023, with early adoption permitted. While we are currently assessing the impact of the adoption of this ASU, we do not believe the adoption of this ASU will have a material impact on our unaudited consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8zMjk4NTM0OTMzNDEy_fdd8d3b3-a0ce-48c1-bcc0-0303d590b0af">REVENUE RECOGNITION&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue in accordance with ASC Topic 606, "Revenue from Contracts with Customers." The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform, and is classified as services revenue. Revenue transferred to customers over time accounted for 90% and 93% of our revenue for the three and six months ended June 30, 2022, and 91% and 92% of our revenue for the three and six months ended June 30, 2021, respectively. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed price, firm-fixed price level of effort, and cost-plus fixed fee contract types, which may include variable consideration as discussed further below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue transferred to customers at a point in time accounted for 10% and 7% of our revenue for the three and six months ended June 30, 2022, and 9% and 8% of our revenue for the three and six months ended June 30, 2021, respectively. Revenue on these contracts is recognized when the customer obtains control of the transferred product or service, which is generally upon delivery of the product to the customer for their use, due to us maintaining control of the product until that point.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For certain performance obligations where we are not primarily responsible for fulfilling the promise to provide the goods or services to the customer, do not have inventory risk and have limited discretion in establishing the price for the goods or services, we recognize revenue on a net basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We provide for anticipated losses on contracts during the period when the loss is determined by recording an expense for the total expected costs that exceed the total estimated revenue for a performance obligation. No contract losses were recorded during the three and six months ended June 30, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Disaggregated Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have identified two reportable segments. We treat sales to U.S. customers as sales within the U.S., regardless of where the services are performed. Substantially all of our revenues are generated from U.S. customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.1: Revenue by Operating Segments&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Security Solutions:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,298&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,595&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,165&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,725&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,521&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,641&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,573&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,341&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Security Solutions revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Secure Networks:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Secure Networks revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.2: Revenue by Customer Type&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Security Solutions:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,251&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,853&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,281&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;State &amp;amp; local, and commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,568&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,406&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,885&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,785&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Security Solutions revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Secure Networks:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,962&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,302&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,203&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,198&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;State &amp;amp; local, and commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Secure Networks revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.3: Revenue by Contract Type&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Security Solutions:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,275&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,457&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,742&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,469&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,731&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,059&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,646&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,060&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,813&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,720&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,350&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,537&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Security Solutions revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#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&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Secure Networks:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,030&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,885&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,839&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,942&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,374&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,293&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Secure Networks revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue resulting from contracts and subcontracts with the U.S. government accounted for 94% and 95% of our revenue for the three months ended June 30, 2022 and 2021, respectively, and 94% and 96% of our revenue for the six months ended June 30, 2022 and 2021, respectively. As our primary customer base includes agencies of the U.S. government, we have a concentration of credit risk associated with our accounts receivable, as 95% of our billed accounts receivable as of June&#160;30, 2022, were directly with U.S. government customers. We perform ongoing credit evaluations of all our customers and generally do not require collateral or other guarantee from our customers. We maintain allowances for potential losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.4: Revenue Concentrations Greater than 10% of Total Revenue&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. Department of Defense ("DoD")&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;71%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;76%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Civilian&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.5: Contract Balances&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract assets (unbilled receivables)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36,216&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41,374&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,799&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,381&#160;&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the Company's contract assets and contract liabilities during the period were primarily the result of the timing differences between the Company's performance, invoicing and customer payments. Revenue recognized for the three and six months ended June&#160;30, 2022, that was included in the contract liabilities balance at the beginning of each reporting period was $1.6&#160;million and $4.1&#160;million, respectively. Revenue recognized for the three and six months ended June&#160;30, 2021, that was included in the contract liabilities balance at the beginning of each reporting period was $1.2&#160;million and $3.2&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2022, we had $100.5&#160;million of remaining performance obligations, which we also refer to as funded backlog. We expect to recognize approximately 76% of our remaining performance obligations as revenue in 2022, an additional 20% in 2023, and the balance thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8zMjk4NTM0OTMzNDEz_d819e17c-a0e3-47f3-9d50-00d46d7d9e72">&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue in accordance with ASC Topic 606, "Revenue from Contracts with Customers." The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform, and is classified as services revenue. Revenue transferred to customers over time accounted for 90% and 93% of our revenue for the three and six months ended June 30, 2022, and 91% and 92% of our revenue for the three and six months ended June 30, 2021, respectively. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed price, firm-fixed price level of effort, and cost-plus fixed fee contract types, which may include variable consideration as discussed further below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue transferred to customers at a point in time accounted for 10% and 7% of our revenue for the three and six months ended June 30, 2022, and 9% and 8% of our revenue for the three and six months ended June 30, 2021, respectively. Revenue on these contracts is recognized when the customer obtains control of the transferred product or service, which is generally upon delivery of the product to the customer for their use, due to us maintaining control of the product until that point.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For certain performance obligations where we are not primarily responsible for fulfilling the promise to provide the goods or services to the customer, do not have inventory risk and have limited discretion in establishing the price for the goods or services, we recognize revenue on a net basis.&lt;/span&gt;&lt;/div&gt;We provide for anticipated losses on contracts during the period when the loss is determined by recording an expense for the total expected costs that exceed the total estimated revenue for a performance obligation.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2cb106555e7743a7a82d40165ce5474d_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2MTY3_9d541d77-734d-485e-bd43-72fe181fdff6"
      unitRef="number">0.90</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i6cb287ebd11e40c6aedf0d0d127a8ed7_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2MTcz_e19c9754-ee34-4162-9304-f155a694cfd6"
      unitRef="number">0.93</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4f16e456dcf44dcd83af785d250e4c53_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2MTc5_da9b41eb-dec3-47e9-b3fc-99150415e56a"
      unitRef="number">0.91</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4183f75a8f8a43f6affba15b7cb728b8_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2MTg2_732f082c-6bfd-433d-9e9a-cebe00fb17b2"
      unitRef="number">0.92</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i04f145398a434a5ea241590db868d7a5_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2MTk3_f1c38d7a-0e8b-4907-b486-5b0dcfaada0f"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie7ed1e69e6304f42865a256522a19fca_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2MjAy_817c7111-7773-4eff-81d8-1484b11f3939"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i55903362ebce4939ac2351b5fdc02abe_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2Mjky_e881fe1a-616a-4c35-897b-01750baa52b9"
      unitRef="number">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia97e49a7895649dfbf44f37661ce7078_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2Mjk4_1e113e33-9385-46c3-8486-a064f96fef19"
      unitRef="number">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NumberOfReportableSegments
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8yNzQ4Nzc5MTE5NTMw_d3b9ede9-24f1-4a34-8184-b7f177b92b76"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8zMjk4NTM0OTMzNDE0_6d289f0c-6237-4e09-b37e-f5d235cd39e2">&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.1: Revenue by Operating Segments&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Security Solutions:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,298&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,595&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,165&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,725&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,521&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,641&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,573&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,341&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Security Solutions revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Secure Networks:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Secure Networks revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.2: Revenue by Customer Type&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Security Solutions:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,251&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,853&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,281&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;State &amp;amp; local, and commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,568&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,406&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,885&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,785&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Security Solutions revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Secure Networks:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,962&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,302&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,203&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,198&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;State &amp;amp; local, and commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Secure Networks revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.3: Revenue by Contract Type&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Security Solutions:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,275&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,457&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,742&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,469&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,731&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,059&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,646&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,060&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,813&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,720&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,350&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,537&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Security Solutions revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#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&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Secure Networks:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,030&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,885&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,839&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,942&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,374&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,293&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Secure Networks revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i955360d1ee264e599d207a3aeee455ac_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV80LTEtMS0xLTc1NTI3_537d4f3e-37ed-49d8-8946-80fe01d9f16c"
      unitRef="usd">25298000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if42ff7c43a04477c8a20fc6af61a38af_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV80LTMtMS0xLTc1NTI3_d241e1b6-5b20-4774-9594-26ff9f03c96b"
      unitRef="usd">27595000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id0844acb9452449988caec5b15e4bc35_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV80LTUtMS0xLTc1NTI3_838f6648-d263-4cf1-b70d-3f0986350a97"
      unitRef="usd">50165000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7de931f183043dc8afdbb4a8db814ea_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV80LTctMS0xLTc1NTI3_afeb33d4-1cd9-44b3-8413-feb2d1df1b80"
      unitRef="usd">46725000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic41022d6a40e437b85b4bf7e9401181a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV81LTEtMS0xLTc1NTI3_49c14296-e56f-4f3d-9861-578cf97b39d5"
      unitRef="usd">5521000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if7709d9f44194b7b997c2140666b045a_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV81LTMtMS0xLTc1NTI3_06f1e0d5-da8a-433b-92b6-1a02d00d9f42"
      unitRef="usd">4641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie67349b95d6e4980a9a7e3189a3b27d2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV81LTUtMS0xLTc1NTI3_599f5eed-70a2-4258-b1a8-d02650702e34"
      unitRef="usd">7573000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3339e8757c174adba740043c1a0b9689_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV81LTctMS0xLTc1NTI3_293a882e-56b7-4fd2-b3f9-d23858f06c27"
      unitRef="usd">8341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie0b0a9adc7614ffda9cfcc26a95d3421_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV82LTEtMS0xLTc1NTI3_2898df9b-6486-4b3f-8afb-54203ce651d3"
      unitRef="usd">30819000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0e6f372cb9b45fd89757c8f2dfe1507_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV82LTMtMS0xLTc1NTI3_8ab8cec4-e919-4972-a7e2-bb2d278964a2"
      unitRef="usd">32236000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id957e51ac3fd4c839d35023e4fcafbeb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV82LTUtMS0xLTc1NTI3_9050850e-60db-4119-9a1d-0fbcf5f2a5f0"
      unitRef="usd">57738000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i927b02f11ad8457c94049bf329326266_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV82LTctMS0xLTc1NTI3_04d476be-edc8-4b6d-ab94-a18fd77be6ae"
      unitRef="usd">55066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i78c5d3f656db41e78045fd90634d99f8_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV84LTEtMS0xLTc1NjE1_b3e6a7cb-e960-4d5f-9e2f-857b1645df2d"
      unitRef="usd">24972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6957487725b84a3dadf40ed310d311cc_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV84LTMtMS0xLTc1NjE1_e5f76e7e-22dd-4984-b08d-7b7b26d6e608"
      unitRef="usd">21408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i304e04d391824448b0bda53cbe5bd9d2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV84LTUtMS0xLTc1NjE1_61a62786-c31e-4a58-b636-4599bf750842"
      unitRef="usd">48213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if23a518ab9dc46798b3d4342ce28bbeb_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV84LTctMS0xLTc1NjE1_296a2674-10ba-4778-9e8d-1493445322d9"
      unitRef="usd">54336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icebf059493d94a76a9b410ee483caa5b_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV85LTEtMS0xLTc1NjE1_2f55f4a7-71fa-4a28-a2d6-02c852d2a1c7"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i988c39ae5e064f9293c8ed7b3afb4a30_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV85LTMtMS0xLTc1NjE1_cb1c6fcc-4268-4ea7-befd-bc1e090816b9"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccbd3017f1c64ee38ab671a73072ea91_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV85LTUtMS0xLTc1NjE1_153bd144-086a-4bf2-b1c7-f6584a7ed291"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1133f2304c4748449dcf8485ce0f7b1e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV85LTctMS0xLTc1NjE1_31f05525-bb0b-45c9-88a8-444667a01fb1"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c09ff7a502b4cc6b42de6fe1f88a066_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMC0xLTEtMS03NTUyNw_b4fdd0ec-8317-4383-b269-389f63451125"
      unitRef="usd">24972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib75031f8f7db438cbea03bec857c97d4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMC0zLTEtMS03NTUyNw_b7ffad83-e0b9-47b6-a60b-0a637bc3e1b8"
      unitRef="usd">21408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id089027634ec4d6e8a9f9576a738d55c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMC01LTEtMS03NTUyNw_88c9e8a1-3aad-4700-8c04-74831619ee13"
      unitRef="usd">48213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib18ab346634c40968b5d857404a79ae0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMC03LTEtMS03NTUyNw_b092ba73-774b-49e3-9d27-68503c5ee1ea"
      unitRef="usd">54336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMS0xLTEtMS03NTUzMw_a31cf7c3-e8be-4af4-b24b-79068a08f511"
      unitRef="usd">55791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMS0zLTEtMS03NTUzMw_4f376109-6f93-416f-b2b0-c0496e4c4e32"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMS01LTEtMS03NTUzMw_d793fce1-6de0-4902-9f8d-2ffba8a850ec"
      unitRef="usd">105951000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6ODQ2NTIzYzMzZmI5NDE4ZWJiZmY2YzIxNmM2YzhiMWEvdGFibGVyYW5nZTo4NDY1MjNjMzNmYjk0MThlYmJmZjZjMjE2YzZjOGIxYV8xMS03LTEtMS03NTUzMw_4259e569-e3cd-4b41-8ed0-cda0ed1faf9d"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i19ac525e311c4726aa7d775b1fe88cab_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8yLTEtMS0xLTcyOTQ0_c3ebb800-1051-43da-b827-180a5cd819e2"
      unitRef="usd">27251000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idc2d02570349485fb8154b305c5896d2_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8yLTMtMS0xLTcyOTQ0_bb047e63-ba00-4ba0-a5d2-c22b7e91735e"
      unitRef="usd">29830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if3815d7508bf4c4aba3924580c75dab8_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8yLTUtMS0xLTcyOTQ0_7fa88863-4528-4452-8ff8-2f5fe66e0459"
      unitRef="usd">51853000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i44a3bcfe7dca4de8b843f3f4540cc368_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8yLTctMS0xLTcyOTQ0_99122d77-21cc-43dc-b17d-04ec14cbd075"
      unitRef="usd">50281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i03f880b7c2494ba1a88b1b0e564f5ee2_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV81LTEtMS0xLTc1NTQ0_6df3a037-2ade-4c33-b78b-fd23ec952170"
      unitRef="usd">3568000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i865969dd5ed5488d9063e9e9d4906970_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV81LTMtMS0xLTc1NTQ0_c4143b74-a399-4fd5-8fcd-123f13f8cca4"
      unitRef="usd">2406000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibd57d27f32214047aa084c3c47302dfb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV81LTUtMS0xLTc1NTQ0_5db5e78b-4178-47ee-a98f-89344aa4ab94"
      unitRef="usd">5885000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i96c58b8bd4ca47358205f3cfd48d6a99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV81LTctMS0xLTc1NTQ0_800a5681-2f0f-4758-bf00-b8e224e5cc31"
      unitRef="usd">4785000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie0b0a9adc7614ffda9cfcc26a95d3421_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV82LTEtMS0xLTc1NTQ0_60513199-6343-4ec9-a63a-75522a5c6783"
      unitRef="usd">30819000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0e6f372cb9b45fd89757c8f2dfe1507_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV82LTMtMS0xLTc1NTQ0_c5ea92f9-bd65-40c8-a83f-9667ea71dd14"
      unitRef="usd">32236000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id957e51ac3fd4c839d35023e4fcafbeb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV82LTUtMS0xLTc1NTQ0_d638f6aa-9722-4cf1-abe3-83db6b74c7d6"
      unitRef="usd">57738000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i927b02f11ad8457c94049bf329326266_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV82LTctMS0xLTc1NTQ0_54c5e720-73ac-41cf-bc58-1c1e05439f79"
      unitRef="usd">55066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaef61b346b474ccdbca552a413b8e3ce_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV84LTEtMS0xLTc1NjIy_0905beb9-e653-44f0-9142-0cc1baceaae1"
      unitRef="usd">24962000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i697a8ce3a7124a7a89dcc24ed37fd3ea_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV84LTMtMS0xLTc1NjIy_97e8169d-59a2-4874-a724-f0cb4f55cb0e"
      unitRef="usd">21302000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic1928c02ee984cbaa3429b838b9bcf8d_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV84LTUtMS0xLTc1NjIy_f9bebe1e-09e9-48be-abbe-c0637ec76dac"
      unitRef="usd">48203000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id861c25dd3784a96b61de781f7d05793_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV84LTctMS0xLTc1NjIy_d37873e6-0118-4d34-a773-ea3e74a57724"
      unitRef="usd">54198000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie44df382df884312a7d5cbfa5a5a396b_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8zLTEtMS0xLTcyOTQ0_5ca8a5f0-9e01-4221-baa0-1f469fbc3593"
      unitRef="usd">10000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1f1f499e4954431694f5d6615b117ed7_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8zLTMtMS0xLTcyOTQ0_ee029386-9322-4db5-8dfd-eb40171f2afd"
      unitRef="usd">106000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id45510a6619a4d62ac7acf481483ee53_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8zLTUtMS0xLTcyOTQ0_37723898-5807-4c4b-b371-2b30db25bc0d"
      unitRef="usd">10000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7d55bb44cb6b4399bf62a5e3407783f2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8zLTctMS0xLTcyOTQ0_239bed79-9b0b-45ae-80f9-fca17f47b0c4"
      unitRef="usd">138000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c09ff7a502b4cc6b42de6fe1f88a066_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8xMC0xLTEtMS03NTU0NA_fc7d6082-79cd-46a7-b27b-c29ad6dd1e81"
      unitRef="usd">24972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib75031f8f7db438cbea03bec857c97d4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8xMC0zLTEtMS03NTU0NA_f3cc9ff7-05d0-4307-94c5-f93f67df4c3b"
      unitRef="usd">21408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id089027634ec4d6e8a9f9576a738d55c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8xMC01LTEtMS03NTU0NA_c1f5c114-1c1d-464e-a444-6630e6b1ad4b"
      unitRef="usd">48213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib18ab346634c40968b5d857404a79ae0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV8xMC03LTEtMS03NTU0NA_f2db2f17-58bd-4470-950e-321071f47e9a"
      unitRef="usd">54336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV80LTEtMS0xLTcyOTQ0_1ce6f959-919e-4480-b6d5-077827239505"
      unitRef="usd">55791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV80LTMtMS0xLTcyOTQ0_dd55e40b-74ca-43ed-a471-79e6c1dbd218"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV80LTUtMS0xLTcyOTQ0_3039c19f-1ff2-4130-9097-4d65da42f27b"
      unitRef="usd">105951000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NTczZDM2YzM5NjViNGFhYWFmMTNhYzg0MDc2OGEyNjEvdGFibGVyYW5nZTo1NzNkMzZjMzk2NWI0YWFhYWYxM2FjODQwNzY4YTI2MV80LTctMS0xLTcyOTQ0_9208203a-d4d3-4209-8e93-d55233f562ab"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i099471c5fe52438f9b2512690284d8db_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8yLTEtMS0xLTcyOTQ0_28f13e18-ea91-416a-8638-5563d60f4a8a"
      unitRef="usd">26275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i039a390cc1db4d3986c02e7997f068ce_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8yLTMtMS0xLTcyOTQ0_5c2305c4-6d7d-4ab3-9846-f26557efed12"
      unitRef="usd">27457000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic53c1d200d8b436b938a0b385b13ce58_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8yLTUtMS0xLTcyOTQ0_55e2578d-e7d5-4b3d-9f0d-20e2358ad057"
      unitRef="usd">48742000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i67b2a0fe63794d88ae85093cdb43dfe7_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8yLTctMS0xLTcyOTQ0_9b1a9555-ec53-4601-8a4d-65b2be6e1e0c"
      unitRef="usd">45469000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib1d99e44c9ce421ebef2c2b3d0770b22_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8zLTEtMS0xLTcyOTQ0_b1c1a1d5-50ea-4a7e-8a18-98da93feff49"
      unitRef="usd">2731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if3ea6b310f484bd482e5a2b310a9cc82_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8zLTMtMS0xLTcyOTQ0_64d73dca-ac58-46fc-af0a-9c4ea5b835fe"
      unitRef="usd">3059000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib9a4b82bde0545bc97c7f9b634e1b3eb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8zLTUtMS0xLTcyOTQ0_36c2aa52-13c7-4ff1-9d8d-09a5c3837e4e"
      unitRef="usd">5646000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05342a92c2cc4bf49ff7863ca32a4335_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8zLTctMS0xLTcyOTQ0_90c69909-5bfc-4e3f-9528-70fcea7974af"
      unitRef="usd">6060000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i729d76f5618745829b376bcb513759ce_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl80LTEtMS0xLTcyOTQ0_3042ca1d-83a5-471d-8d8c-fb404e0f9966"
      unitRef="usd">1813000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i179b18090b77488bb496f5063bef91ce_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl80LTMtMS0xLTcyOTQ0_c2f52882-8c48-4c98-a060-4b8a8199d3dd"
      unitRef="usd">1720000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i53053f0bc82d4fd3bf65063cc7b6960c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl80LTUtMS0xLTcyOTQ0_b006aa03-f9df-4ef0-b6fc-1a92494dfd76"
      unitRef="usd">3350000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic4163676745c4ad7ba598b6b8659a891_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl80LTctMS0xLTcyOTQ0_5d272b0a-9ec5-45a3-b63a-15c6a22ffb6f"
      unitRef="usd">3537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie0b0a9adc7614ffda9cfcc26a95d3421_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl83LTEtMS0xLTc1NTcy_fa34dd06-bf67-4b4f-9546-9bb94eea44a3"
      unitRef="usd">30819000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0e6f372cb9b45fd89757c8f2dfe1507_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl83LTMtMS0xLTc1NTcy_10f5b940-aa4f-4f49-acfe-9e3990a66df9"
      unitRef="usd">32236000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id957e51ac3fd4c839d35023e4fcafbeb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl83LTUtMS0xLTc1NTcy_7c2be5cf-4ce2-4b09-ba35-caebcd9bbc0f"
      unitRef="usd">57738000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i927b02f11ad8457c94049bf329326266_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl83LTctMS0xLTc1NTcy_039bc4e7-b569-40e2-9345-4f054a629b7e"
      unitRef="usd">55066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifef696f82caa4a898850c3e7632cee30_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl85LTEtMS0xLTc1NjMy_abc7e2d0-22db-4ebf-98cd-8d14bf9aa963"
      unitRef="usd">19030000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icac548f2fa2b4b2f9bc1a7491c7af06d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl85LTMtMS0xLTc1NjMy_30d789ad-3963-4e73-b5f6-4db015915b10"
      unitRef="usd">18885000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib87595b4a6964e81aa76e56fe6acbb66_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl85LTUtMS0xLTc1NjMy_d2e4c4ab-71ff-4a29-8533-c80a0fac33ab"
      unitRef="usd">37839000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie76ae9747de74fa1b298b6ab11a1d42a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl85LTctMS0xLTc1NjMy_9dcffeee-365a-4855-8166-1bac98678b62"
      unitRef="usd">50014000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4fd54513fd944cbf9bca9889c2563af9_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMC0xLTEtMS03NTYzMg_5489558a-2bd3-483c-83b8-fc26e0256a6c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8e86f47a51ee4a1094a25dc88a459131_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMC0zLTEtMS03NTYzMg_104723bb-4266-4337-8d64-02ad6ac968df"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0ff97e42a764229a7e5c8fe244f1cf2_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMC01LTEtMS03NTYzMg_b0453569-0363-40eb-b524-ed31d5ad4de3"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iea5004dd589d4238921e610b7ff4a476_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMC03LTEtMS03NTYzMg_b1a4dba5-5b3f-4f20-b094-f95816397870"
      unitRef="usd">29000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibf4f3932c8a740029140125b5db7fdda_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMS0xLTEtMS03NTYzMg_f528da8b-1cd5-46a3-a73f-aaf4e6b3c526"
      unitRef="usd">5942000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaa7f4b13fda843b58ea1512ec032c28e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMS0zLTEtMS03NTYzMg_3be8c0b3-62c6-4b65-9fec-3e98392abf34"
      unitRef="usd">2523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iae4f2e9c8f4f4631b99971b0f284634c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMS01LTEtMS03NTYzMg_e7f45678-0f64-42c2-b475-e90adccfc810"
      unitRef="usd">10374000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7000adce5d04b5db4f201a75f52203a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMS03LTEtMS03NTYzMg_0d4ce303-5d5e-4d5a-a2a3-901d3c5321c7"
      unitRef="usd">4293000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c09ff7a502b4cc6b42de6fe1f88a066_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMi0xLTEtMS03NTU3Mg_77420364-e26f-45bb-9734-c79c7bb11ede"
      unitRef="usd">24972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib75031f8f7db438cbea03bec857c97d4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMi0zLTEtMS03NTU3Mg_4a9aa57e-c85b-4435-9dec-606388d176c4"
      unitRef="usd">21408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id089027634ec4d6e8a9f9576a738d55c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMi01LTEtMS03NTU3Mg_b2e0abb4-a6ba-4b5a-bbc4-41415db53642"
      unitRef="usd">48213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib18ab346634c40968b5d857404a79ae0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl8xMi03LTEtMS03NTU3Mg_cbbbec14-fb96-4e80-acd0-e3170759ce9e"
      unitRef="usd">54336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl81LTEtMS0xLTcyOTQ0_ec29d86b-87ab-423b-a145-777dd3831c94"
      unitRef="usd">55791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl81LTMtMS0xLTcyOTQ0_202c4d5a-28b9-49ee-9c64-da5eba5c68b6"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl81LTUtMS0xLTcyOTQ0_7db65048-7fc0-4249-9f95-334df68711ec"
      unitRef="usd">105951000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NzZjNmFjNDk1YWM3NGU5M2JmMjc0Njg3NGY1NzQ3YmIvdGFibGVyYW5nZTo3NmM2YWM0OTVhYzc0ZTkzYmYyNzQ2ODc0ZjU3NDdiYl81LTctMS0xLTcyOTQ0_ab919129-c67d-49de-bbe9-3d35101e62a0"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iabf605ddfb4748ba91d49a41dad40a8d_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2NDU2_fad7b5d6-3054-45fe-953e-8f01f7bdaa75"
      unitRef="number">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ife9bc7d6c80040b88128bce02ca95877_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2NDYy_4a7254cd-9e39-44e3-b6a1-4268740e6d60"
      unitRef="number">0.95</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i36212ec01a1e4a7894778589c934ef61_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2NDY4_f4b3e005-21be-4c80-a103-1db98b775958"
      unitRef="number">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1d71637082a94999afbeebb836eb0d46_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2NDc0_b945a3bc-1554-4106-acc3-be23910d7a02"
      unitRef="number">0.96</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5aa9f46cf33545718515c48251f40beb_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xMDk5NTExNjY2NDk2_25080bb4-fe82-4817-b747-9c76f8a646af"
      unitRef="number">0.95</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8zMjk4NTM0OTMzNDE2_9b575ccb-0863-4a17-9787-8c3c3c387f59">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.4: Revenue Concentrations Greater than 10% of Total Revenue&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. Department of Defense ("DoD")&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;71%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;76%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Civilian&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 25pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i12f0fcce73b44d14a1b1dec14c8ea9f5_D20220401-20220630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8yLTEtMS0xLTczMjI1_2b6c4f2e-b108-459a-a669-4f1e67d536dd"
      unitRef="number">0.72</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i77b1c1b858104fa890761db0a99f5fcf_D20210401-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8yLTMtMS0xLTczMjI1_a0a0e947-fdcb-4fbe-b13f-bae1792bff8c"
      unitRef="number">0.67</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i48cc0f33c1ce492c86d1f6f1e2f0a989_D20220101-20220630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8yLTUtMS0xLTc1Njgw_d2a58808-df09-4312-8191-5c1ec7a7fcd5"
      unitRef="number">0.71</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9559e5a625484bdfbd839de7c3efc7f9_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8yLTctMS0xLTc1Njgw_f35cff27-804f-47da-a9e4-02639929e894"
      unitRef="number">0.76</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9b80e0ca88cd4c7ea892069bfc65edfd_D20220401-20220630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8zLTEtMS0xLTczMjI1_619ab96c-d724-4603-af15-b099ca47b57a"
      unitRef="number">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia1ad9abdfd2a4ae799de33135e933ed6_D20210401-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8zLTMtMS0xLTczMjI1_55cd7529-a490-485a-b1ac-53e857bf5e8b"
      unitRef="number">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i32dd3c67cb28446880871b34c76a88d9_D20220101-20220630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8zLTUtMS0xLTc1Njgw_8bfb51aa-0b8c-4d9c-ab96-1f16e79c2fb1"
      unitRef="number">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id34b57ca55aa43e9ae8f47276dc14de8_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6NDU2MTNjM2NiZmVjNDdlNWEwNDE1NTAwNGJlYTRlZDAvdGFibGVyYW5nZTo0NTYxM2MzY2JmZWM0N2U1YTA0MTU1MDA0YmVhNGVkMF8zLTctMS0xLTc1Njgw_d997da26-10db-4f32-b658-3293b24875b2"
      unitRef="number">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8zMjk4NTM0OTMzNDE3_713c5601-bd75-4343-abe1-c46d46670c8e">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 3.5: Contract Balances&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract assets (unbilled receivables)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36,216&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41,374&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,799&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,381&#160;&lt;/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;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6MzMxNWYwZGEyZDVlNGMzZmFmZTU2ZjU2MTg5ZDcwMTYvdGFibGVyYW5nZTozMzE1ZjBkYTJkNWU0YzNmYWZlNTZmNTYxODlkNzAxNl8xLTEtMS0xLTczMjM3_addb0ca0-d0e8-4e0e-b020-0a0bbca8f40e"
      unitRef="usd">36216000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6MzMxNWYwZGEyZDVlNGMzZmFmZTU2ZjU2MTg5ZDcwMTYvdGFibGVyYW5nZTozMzE1ZjBkYTJkNWU0YzNmYWZlNTZmNTYxODlkNzAxNl8xLTMtMS0xLTczMjM3_1f3b34e8-b011-4cc0-890f-56658b411f30"
      unitRef="usd">41374000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6MzMxNWYwZGEyZDVlNGMzZmFmZTU2ZjU2MTg5ZDcwMTYvdGFibGVyYW5nZTozMzE1ZjBkYTJkNWU0YzNmYWZlNTZmNTYxODlkNzAxNl8yLTEtMS0xLTczMjM3_7925c382-393d-4f1c-b792-ebc8736e8dbd"
      unitRef="usd">4799000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGFibGU6MzMxNWYwZGEyZDVlNGMzZmFmZTU2ZjU2MTg5ZDcwMTYvdGFibGVyYW5nZTozMzE1ZjBkYTJkNWU0YzNmYWZlNTZmNTYxODlkNzAxNl8yLTMtMS0xLTczMjM3_02ce2853-79cb-4a0b-9246-4b2e3b195cff"
      unitRef="usd">6381000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDc3OTY3_b6ba82de-7fb8-442d-bc28-546c14690dab"
      unitRef="usd">1600000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDc3OTc1_d4eb1e8d-2b72-4c3f-97af-a3d3f2b66b17"
      unitRef="usd">4100000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDc4MTI5_4df5c865-32cb-4366-9b57-7822680b0a1e"
      unitRef="usd">1200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDc4MTM3_900cf14b-1ae4-43c6-aa7d-0eb274dd2f64"
      unitRef="usd">3200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDUyMzMy_1e54d37d-2ac8-4ee3-8fa9-9070a1f5bcb4"
      unitRef="usd">100500000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ib6cd1579e5f64fb2b21774bffe7f84d1_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDUyNDc1_7377246b-deb6-451d-9014-f02a15144d75"
      unitRef="number">0.76</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i09b917259f384b3cae6adfcc474f9f61_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDc4L2ZyYWc6OTljNmI4MWI0MWNiNDMzNjllZTVlMjUyZjExZWNhNGQvdGV4dHJlZ2lvbjo5OWM2YjgxYjQxY2I0MzM2OWVlNWUyNTJmMTFlY2E0ZF8xNjQ5MjY3NDUyNTUz_8c9b574d-7779-4df3-956f-cb5ddb016d1c"
      unitRef="number">0.20</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:AccountsAndNontradeReceivableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGV4dHJlZ2lvbjphMjY1ZDA2MjQwMDE0ZmViOTg2NjhkM2E0ZmQzMjM5ZV8zMjk4NTM0ODgzNzIz_c44975f8-4c6d-41eb-938b-bde3870fc3ee">ACCOUNTS RECEIVABLE, NET&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 4: Details of Accounts Receivable, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Billed accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,638&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,586&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unbilled receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36,216&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(178)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(116)&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;59,844&#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;</us-gaap:AccountsAndNontradeReceivableTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGV4dHJlZ2lvbjphMjY1ZDA2MjQwMDE0ZmViOTg2NjhkM2E0ZmQzMjM5ZV8zMjk4NTM0ODgzNzI0_53168ea6-36f1-4d6b-8fbe-378e5da102aa">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 4: Details of Accounts Receivable, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Billed accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,638&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,586&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unbilled receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36,216&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(178)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(116)&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;59,844&#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;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:BilledContractReceivables
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF8xLTEtMS0xLTczMjQ4_7c49293c-7dc4-49f0-a4cb-fcacc4ff0cfc"
      unitRef="usd">14638000</us-gaap:BilledContractReceivables>
    <us-gaap:BilledContractReceivables
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF8xLTMtMS0xLTczMjQ4_8dbf4670-46ca-4b24-a0cc-6d49add63926"
      unitRef="usd">18586000</us-gaap:BilledContractReceivables>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF8yLTEtMS0xLTczMjQ4_9e9fc32c-d0a6-4720-aa92-9459705f8b07"
      unitRef="usd">36216000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF8yLTMtMS0xLTczMjQ4_078046b3-b47a-4ceb-9b4b-7c3b3c9b5c5f"
      unitRef="usd">41374000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF8zLTEtMS0xLTczMjQ4_15741ed2-0741-4090-a42e-72ee9b9a6623"
      unitRef="usd">178000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF8zLTMtMS0xLTczMjQ4_6df1ea9f-e633-4820-8426-f332d305375e"
      unitRef="usd">116000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF80LTEtMS0xLTczMjQ4_3cec80c8-7482-46cc-80d1-ca0496aaf642"
      unitRef="usd">50676000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDg0L2ZyYWc6YTI2NWQwNjI0MDAxNGZlYjk4NjY4ZDNhNGZkMzIzOWUvdGFibGU6YzdmNDkwOWUxZDU1NGFhZDlkMTlmMTJlYTM0ZGFkZjQvdGFibGVyYW5nZTpjN2Y0OTA5ZTFkNTU0YWFkOWQxOWYxMmVhMzRkYWRmNF80LTMtMS0xLTczMjQ4_03ef5114-5059-464e-b3c6-26350ddb287b"
      unitRef="usd">59844000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGV4dHJlZ2lvbjoxNzk1MDdkMDQ1NTk0Mjg4YTMyNWYzYzZmN2U4ODFkZV8zMjk4NTM0ODgzNDAy_605385d2-a653-4650-8060-626b640e68b0">INVENTORIES, NET&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 5: Details of Inventories, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,383&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,108&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Allowance for inventory obsolescence&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(753)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(861)&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGV4dHJlZ2lvbjoxNzk1MDdkMDQ1NTk0Mjg4YTMyNWYzYzZmN2U4ODFkZV8zMjk4NTM0ODgzNDAz_12422942-74ff-4086-b5a1-335bfa4b106a">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 5: Details of Inventories, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,383&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,108&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Allowance for inventory obsolescence&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(753)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(861)&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryGross
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGFibGU6MWI0YWQ2N2E1YWIxNGUwMGFlZjFhZjQ2MmUwYjMyZTIvdGFibGVyYW5nZToxYjRhZDY3YTVhYjE0ZTAwYWVmMWFmNDYyZTBiMzJlMl8zLTEtMS0xLTg0Njk5_4afa4834-4364-4cb7-a0f9-d756350a8ada"
      unitRef="usd">4383000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGFibGU6MWI0YWQ2N2E1YWIxNGUwMGFlZjFhZjQ2MmUwYjMyZTIvdGFibGVyYW5nZToxYjRhZDY3YTVhYjE0ZTAwYWVmMWFmNDYyZTBiMzJlMl8zLTMtMS0xLTg0Njk5_ea4e9797-840f-41c6-ae38-8cc703d3989e"
      unitRef="usd">2108000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGFibGU6MWI0YWQ2N2E1YWIxNGUwMGFlZjFhZjQ2MmUwYjMyZTIvdGFibGVyYW5nZToxYjRhZDY3YTVhYjE0ZTAwYWVmMWFmNDYyZTBiMzJlMl81LTEtMS0xLTg0Njk5_83af7149-8a1c-4acf-a428-f349d25d5683"
      unitRef="usd">753000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGFibGU6MWI0YWQ2N2E1YWIxNGUwMGFlZjFhZjQ2MmUwYjMyZTIvdGFibGVyYW5nZToxYjRhZDY3YTVhYjE0ZTAwYWVmMWFmNDYyZTBiMzJlMl81LTMtMS0xLTg0Njk5_7c54f43a-9e9d-4de1-b96b-8a3b44e4680f"
      unitRef="usd">861000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGFibGU6MWI0YWQ2N2E1YWIxNGUwMGFlZjFhZjQ2MmUwYjMyZTIvdGFibGVyYW5nZToxYjRhZDY3YTVhYjE0ZTAwYWVmMWFmNDYyZTBiMzJlMl82LTEtMS0xLTg0Njk5_24b1af2e-be93-459b-9548-093b0e23dc41"
      unitRef="usd">3630000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjU1L2ZyYWc6MTc5NTA3ZDA0NTU5NDI4OGEzMjVmM2M2ZjdlODgxZGUvdGFibGU6MWI0YWQ2N2E1YWIxNGUwMGFlZjFhZjQ2MmUwYjMyZTIvdGFibGVyYW5nZToxYjRhZDY3YTVhYjE0ZTAwYWVmMWFmNDYyZTBiMzJlMl82LTMtMS0xLTg0Njk5_5989efd2-44d7-4d2d-bae1-92c9db1d9ef8"
      unitRef="usd">1247000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGV4dHJlZ2lvbjozNDc1ZjNkYmFiNTQ0NTUyYmViODhkYmY4MmE0NzAwZV8zMjk4NTM0ODgzNjYz_6f83b0fc-3d29-4286-84fd-37bb99cbe4e9">PROPERTY AND EQUIPMENT, NET&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 6: Details of Property and Equipment, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,420&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Leasehold improvement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,009&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,994&#160;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Property and equipment, at cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,414&#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&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(13,304)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,326)&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense was $0.5&#160;million and $1.2&#160;million for the three and six months ended June 30, 2022, respectively, compared to $0.5 million and $0.9 million for the three and six months ended June 30, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGV4dHJlZ2lvbjozNDc1ZjNkYmFiNTQ0NTUyYmViODhkYmY4MmE0NzAwZV8zMjk4NTM0ODgzNjY0_74655e69-6a6b-4f24-86d9-4eba1024a0a6">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 6: Details of Property and Equipment, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,420&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Leasehold improvement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,009&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,994&#160;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Property and equipment, at cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,414&#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&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(13,304)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,326)&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3f308f1b55714c3b82faf1f64ccf4172_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl8zLTEtMS0xLTg2ODky_200965a7-2993-491a-9b3e-b1b7f581cb9c"
      unitRef="usd">15866000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib3e3fca5c3434719ace43cd25d4c6802_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl8zLTMtMS0xLTg2ODky_1bbc8010-1705-42fa-8810-3d68ddc88955"
      unitRef="usd">15420000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i301e6d2467b94fe184c3b5c29a609081_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl80LTEtMS0xLTg2ODky_164f0e77-5473-4d96-9cfc-64e2c5cee3c0"
      unitRef="usd">3009000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i2c4b8a501a3b4bd3b174a1618a881fde_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl80LTMtMS0xLTg2ODky_3cd597d5-da17-47fc-a160-58be38933ca4"
      unitRef="usd">2994000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl81LTEtMS0xLTg2OTc4_f7c51fb1-32e7-4b67-87a6-5e8d475612bf"
      unitRef="usd">18875000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl81LTMtMS0xLTg2OTc4_798ebc41-2af6-4a4e-8412-ad7ffd624d08"
      unitRef="usd">18414000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl82LTEtMS0xLTg2ODky_b33c8634-23ef-4238-9ad0-c801348f63cb"
      unitRef="usd">13304000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl82LTMtMS0xLTg2ODky_ccce5442-568a-4e1f-ab4a-dc013b0d3bb3"
      unitRef="usd">12326000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl83LTEtMS0xLTg2ODky_e251813f-0a11-43e5-883d-28f54878cc10"
      unitRef="usd">5571000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGFibGU6NjEzOTYyYTAzNGRmNDJlNDkxYWU5MTNiNmY5N2QyOWYvdGFibGVyYW5nZTo2MTM5NjJhMDM0ZGY0MmU0OTFhZTkxM2I2Zjk3ZDI5Zl83LTMtMS0xLTg2ODky_45b93519-cffd-43eb-a7dc-e540ac1e44ed"
      unitRef="usd">6088000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGV4dHJlZ2lvbjozNDc1ZjNkYmFiNTQ0NTUyYmViODhkYmY4MmE0NzAwZV8xMDk5NTExNjI4MDc2_3bb724c2-afa3-4ecd-9d8e-521cef7d2339"
      unitRef="usd">500000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGV4dHJlZ2lvbjozNDc1ZjNkYmFiNTQ0NTUyYmViODhkYmY4MmE0NzAwZV8xMDk5NTExNjI4MDg2_ff7f96cd-4072-49eb-8f28-591440f30d9f"
      unitRef="usd">1200000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGV4dHJlZ2lvbjozNDc1ZjNkYmFiNTQ0NTUyYmViODhkYmY4MmE0NzAwZV8xMDk5NTExNjI4MDky_5e29ecf9-8e0f-45a1-80d2-94614294e9fe"
      unitRef="usd">500000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzExL2ZyYWc6MzQ3NWYzZGJhYjU0NDU1MmJlYjg4ZGJmODJhNDcwMGUvdGV4dHJlZ2lvbjozNDc1ZjNkYmFiNTQ0NTUyYmViODhkYmY4MmE0NzAwZV8xMDk5NTExNjI4MDk4_574cc8e8-d4f7-415c-a65d-0590a115be85"
      unitRef="usd">900000</us-gaap:Depreciation>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMjcz_080e26b7-8e84-4e56-958f-5759cf22bbe6">GOODWILLThe goodwill balance was $17.9&#160;million as of June&#160;30, 2022, and December&#160;31, 2021, of which $3.0&#160;million is allocated to the Security Solutions segment and $14.9&#160;million is allocated to the Secure Networks segment. Goodwill is subject to annual impairment tests and if triggering events are present in the interim before the annual tests, we will assess impairment. For the three and six months ended June&#160;30, 2022 and 2021, no impairment charges were taken.</us-gaap:GoodwillDisclosureTextBlock>
    <us-gaap:Goodwill
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfNDg_3dd9ba57-eb8b-42ac-a218-32a968db5ac7"
      unitRef="usd">17900000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfNDg_8c079b29-d825-4f36-9667-508020dd7ec4"
      unitRef="usd">17900000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="if579a1073e7c4f38909ca27c31c55792_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMTA5OTUxMTYyODIyNQ_09e3f4b3-3d5d-4d31-9617-ca9c398e9718"
      unitRef="usd">3000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i274ce075d8a44fc5825f2982af6315a1_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMTA5OTUxMTYyODIyNQ_18ab48fc-01c0-42a0-90ba-10ff9d8d467e"
      unitRef="usd">3000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic5919c124f0d4c32be84dbb1d795b83e_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMTA5OTUxMTYyODI0MQ_8ab22a1d-a3ff-4465-8b47-46b258f8475e"
      unitRef="usd">14900000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="icec6759a37be446eab039618e2eb3fa2_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMTA5OTUxMTYyODI0MQ_cf4d895a-dbe5-4181-bfca-bcd0ecb8eba8"
      unitRef="usd">14900000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMjQx_0c558fea-f3d3-4fe0-9c92-a5c8592aa929"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMjQx_20cc5231-ffbb-4573-953d-ee59d26bdd8f"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMjQx_2eea5c0b-10eb-4906-b577-832e1d4edb0c"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80My9mcmFnOjMyMWEzYzliMGY3YTRhZmU5NmRkNmQ5ZDk3Y2MwZDhlL3RleHRyZWdpb246MzIxYTNjOWIwZjdhNGFmZTk2ZGQ2ZDlkOTdjYzBkOGVfMjQx_9c23137b-692d-440d-9aa6-8554e16294aa"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGV4dHJlZ2lvbjpiM2U4YmZhZmJjMjg0NGUyYWQwZDQ1ZTYzNGM5YTc5MF8zMjk4NTM0ODg3MTU5_767ff909-5c53-433f-816b-b957a737f822">INTANGIBLE ASSETS, NET&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.483%"/&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.355%"/&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.355%"/&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.355%"/&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.355%"/&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.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 8.1: Details of Intangible Assets, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,630&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(416)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,630&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(256)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,374&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,652&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,111)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,541&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,222&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,432)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,790&#160;&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,539)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,693)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,199&#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;Amortization expense was $0.4 million and $0.8 million for the three and six months ended June 30, 2022, respectively, and $0.5&#160;million and $0.9 million for the three and six months ended June 30, 2021, respectively.</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGV4dHJlZ2lvbjpiM2U4YmZhZmJjMjg0NGUyYWQwZDQ1ZTYzNGM5YTc5MF8zMjk4NTM0ODg3MTYw_220fa6c0-5dcb-446e-8b02-dd2748a9c8a5">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.483%"/&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.355%"/&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.355%"/&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.355%"/&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.355%"/&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.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 8.1: Details of Intangible Assets, Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,630&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(416)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,630&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(256)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,374&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,652&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,111)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,541&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,222&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,432)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,790&#160;&lt;/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:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,539)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,693)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,199&#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;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i52e885ca21d14caebb2efc4161a7029e_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8yLTEtMS0xLTczMzMw_390b6e3b-94a3-4755-a66b-e5fd880ad438"
      unitRef="usd">3630000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i52e885ca21d14caebb2efc4161a7029e_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8yLTMtMS0xLTczMzMw_209607ae-876a-458f-835f-ddc96d7955ac"
      unitRef="usd">416000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i52e885ca21d14caebb2efc4161a7029e_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8yLTUtMS0xLTczMzMw_7cba0ac1-7706-49d8-a9c9-3e6e03e8b204"
      unitRef="usd">3214000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8b013d7ddffd48e69954d1523619a0f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8yLTctMS0xLTczMzMw_544ace36-711f-4d1e-ab41-6de7f383c70f"
      unitRef="usd">3630000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8b013d7ddffd48e69954d1523619a0f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8yLTktMS0xLTczMzMw_a18f5de9-14dc-47c5-84a6-026f427dc77c"
      unitRef="usd">256000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8b013d7ddffd48e69954d1523619a0f7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8yLTExLTEtMS03MzMzMA_43023c5b-f484-4ae0-bd0e-71c5ef4c3b8c"
      unitRef="usd">3374000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i292ecf883a5543b4981e2459ee70d343_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8zLTEtMS0xLTczMzMw_c385c0ab-b7ee-4f17-bbc7-afe9be12e701"
      unitRef="usd">40000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i292ecf883a5543b4981e2459ee70d343_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8zLTMtMS0xLTczMzMw_a9ae014b-3359-44c5-98c3-88483b102b01"
      unitRef="usd">12000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i292ecf883a5543b4981e2459ee70d343_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8zLTUtMS0xLTczMzMw_26bde2b2-ed45-4647-9dd5-1be4b455e37b"
      unitRef="usd">28000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="icbfc891a21fc4e278021096244764ca2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8zLTctMS0xLTczMzMw_158b7335-6b34-4783-8efd-4d8c1fec41d6"
      unitRef="usd">40000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="icbfc891a21fc4e278021096244764ca2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8zLTktMS0xLTczMzMw_46d65494-d7b2-424e-be35-11980e754c33"
      unitRef="usd">5000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="icbfc891a21fc4e278021096244764ca2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF8zLTExLTEtMS03MzMzMA_6fea5190-29c8-4ca7-a9ce-7492b6f35f18"
      unitRef="usd">35000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i43969b5edff0418481fadc7df22ea0e4_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF80LTEtMS0xLTczMzMw_2ace0bee-4aab-4024-a25f-14f7794d9fa8"
      unitRef="usd">27652000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i43969b5edff0418481fadc7df22ea0e4_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF80LTMtMS0xLTczMzMw_4c14870a-988d-4ceb-a060-a38c432cd5d5"
      unitRef="usd">7111000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i43969b5edff0418481fadc7df22ea0e4_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF80LTUtMS0xLTczMzMw_aa2b19d1-e068-494e-b660-40b5d08d649a"
      unitRef="usd">20541000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i085708b1968f4a8298191ee780732521_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF80LTctMS0xLTczMzMw_7a219c40-bc57-469b-8258-e831770ac71b"
      unitRef="usd">22222000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i085708b1968f4a8298191ee780732521_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF80LTktMS0xLTczMzMw_f1d7144c-bef1-489f-af7d-3d1904d7bc3d"
      unitRef="usd">6432000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i085708b1968f4a8298191ee780732521_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF80LTExLTEtMS03MzMzMA_da2fcd99-4e2c-4b90-9f51-4cb64354d73d"
      unitRef="usd">15790000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF81LTEtMS0xLTczMzMw_222601fa-763d-4e14-8e81-f49e9cdb0bcf"
      unitRef="usd">31322000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF81LTMtMS0xLTczMzMw_c953419e-0b77-404f-a868-21d863ce2f77"
      unitRef="usd">7539000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF81LTUtMS0xLTczMzMw_cfd503f4-69bb-4d7a-9d32-59fa22cc66d8"
      unitRef="usd">23783000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF81LTctMS0xLTczMzMw_9483611f-e37f-4ec4-8258-5a35e1f17bd5"
      unitRef="usd">25892000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF81LTktMS0xLTczMzMw_8593d027-ed2f-442f-b769-2357a4649caa"
      unitRef="usd">6693000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGFibGU6Zjk2NGMyYjUxMjkwNDQ0NWI2ZjRhNDE3ODU3Y2ZlOTQvdGFibGVyYW5nZTpmOTY0YzJiNTEyOTA0NDQ1YjZmNGE0MTc4NTdjZmU5NF81LTExLTEtMS03MzMzMA_be3c7dc4-563c-4280-8e57-122ffdd50765"
      unitRef="usd">19199000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGV4dHJlZ2lvbjpiM2U4YmZhZmJjMjg0NGUyYWQwZDQ1ZTYzNGM5YTc5MF8xMDk5NTExNjI4MjYy_72f24fc4-70ad-4097-aa5b-2a7c53f29bd1"
      unitRef="usd">400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGV4dHJlZ2lvbjpiM2U4YmZhZmJjMjg0NGUyYWQwZDQ1ZTYzNGM5YTc5MF8xMDk5NTExNjI4Mjc3_79883d3c-266c-4764-94dc-c13e056539ae"
      unitRef="usd">800000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGV4dHJlZ2lvbjpiM2U4YmZhZmJjMjg0NGUyYWQwZDQ1ZTYzNGM5YTc5MF8xMDk5NTExNjI4Mjkx_3ab41896-3967-4f5a-8d24-65d541ecea6d"
      unitRef="usd">500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDk5L2ZyYWc6YjNlOGJmYWZiYzI4NDRlMmFkMGQ0NWU2MzRjOWE3OTAvdGV4dHJlZ2lvbjpiM2U4YmZhZmJjMjg0NGUyYWQwZDQ1ZTYzNGM5YTc5MF8xMDk5NTExNjI4MzA1_726760bb-736c-4821-9761-6e69f20a2053"
      unitRef="usd">900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8zMjk4NTM0ODg1MjYw_7237c17e-e7d7-4d79-bae5-f32f602706da">ACQUISITIONOn July&#160;30, 2021, the Company acquired the assets of Diamond Fortress Technologies ("DFT") and wholly-owned subsidiaries for a total purchase consideration of $6.7&#160;million, inclusive of $0.3&#160;million related to a pre-existing contractual arrangement with DFT. Upon closing, $5.9&#160;million of cash was paid with an additional $0.6&#160;million payable to DFT 18 months after the close date (the "holdback"). The holdback amount has been discounted to its present value of $0.5&#160;million using a discount rate relevant to the acquisition. The acquisition adds several new patents to the Company&#x2019;s library of biometric and digital identity intellectual property. The addition of contactless biometrics technology will enable the Company to better serve the needs of organizations in existing and new markets. The acquisition of the assets of DFT has been accounted for under U.S. GAAP using the acquisition method of accounting. The total purchase consideration of $6.7&#160;million has been allocated among the assets acquired at their fair value at the acquisition date.The Company recognized $3.7 million of intangible assets and $3.0 million of goodwill, which is housed in the Telos ID reporting unit, part of the Security Solutions operating segment. Goodwill is primarily attributable to an excess of the purchase price over the acquired identifiable net tangible and intangible assets. The acquired intangible assets will be amortized on a straight-line basis over 3&#160;- 8 years. The acquisition was considered an asset purchase for tax purposes and the recognized goodwill is deductible for tax purposes.</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NDk1_bd281f13-f040-4441-ad76-f6fa3a671049"
      unitRef="usd">6700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCosts
      contextRef="ief856876ff464e66a0969b35cec51c96_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTEz_dc5cb1fb-bb3e-43b3-9a6a-064a6bba33a0"
      unitRef="usd">300000</us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCosts>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTI4_de3b545f-acd3-4b18-88b2-c75ab0f8634b"
      unitRef="usd">5900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTQz_12057a0f-c72b-4261-a232-58d4187cb87d"
      unitRef="usd">600000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <tls:BusinessCombinationConsiderationTransferredLiabilitiesIncurredCashHoldbackPeriod
      contextRef="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTQ4_f2fbb12f-03ed-426f-b4b4-56986aa2b951">P18M</tls:BusinessCombinationConsiderationTransferredLiabilitiesIncurredCashHoldbackPeriod>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="ief856876ff464e66a0969b35cec51c96_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTYz_87898180-61d0-4d64-a8bc-d05a2bb33f1d"
      unitRef="usd">500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTc4_9d3d63e6-df7f-4dfc-942a-94a8b124f27c"
      unitRef="usd">6700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="ief856876ff464e66a0969b35cec51c96_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NTkz_c1bf160c-8c03-4ce5-84d1-5e99aa144c94"
      unitRef="usd">3700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ie1e709da493741399588b7a9e2077ba1_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NjA4_6141db01-7efe-4394-9ac1-8ea63bea60bf"
      unitRef="usd">3000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9bb694242f0a41678e0874858f750210_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NjEy_f41a4f34-0e73-46d3-a39b-114b555f5d6b">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i4b906c7b0056462881fec361b57bf612_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMDkwL2ZyYWc6MTYzMThiYWFhNjI4NGY1ZGFjMmRmODViY2YxMTQ4ZWYvdGV4dHJlZ2lvbjoxNjMxOGJhYWE2Mjg0ZjVkYWMyZGY4NWJjZjExNDhlZl8xMDk5NTExNjI5NjE2_60b7071b-c976-4413-8989-d04df215e3bd">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:MinorityInterestDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMzIwOQ_8a10a26b-b643-4d03-8da8-b4472b18f6d8">PURCHASE OF TELOS ID NON-CONTROLLING INTERESTSTelos ID was formed as a limited liability company under the Delaware Limited Liability Company Act in 2007. Prior to the IPO, the Company owned a 50% interest in Telos ID, with the remaining interest owned by Hoya ID Fund A, LLC ("Hoya") as the non-controlling interest. Distributions were made to the members only when and to the extent determined by Telos ID&#x2019;s Board of Directors, in accordance with its Operating Agreement.On October&#160;5, 2020, we entered into a Membership Interest Purchase Agreement between the Company and Hoya to purchase all of the Class&#160;B Units of Telos ID owned by Hoya (the &#x201c;Telos ID Purchase&#x201d;). Upon the closing of the Telos ID Purchase, Telos ID became our wholly owned subsidiary. On November&#160;23, 2020, the Telos ID Purchase was consummated with the Company transferring $30.0&#160;million in cash and issuing 7.3 million shares of our common stock at $20.39 per share (which totals approximately $148.4&#160;million); the total consideration transferred to Hoya was $178.4 million. As part of the common stock issuance, the Company recognized an increase to additional paid-in capital (&#x201c;APIC&#x201d;) of $148.4 million. The Company further recognized a reduction to APIC of $173.9&#160;million as part of the elimination of Hoya&#x2019;s non-controlling interest in Telos ID. The net impact to APIC associated with the acquisition of the additional 50% interest in Telos ID was a reduction of $25.5 million. Hoya received a final distribution of $2.4&#160;million in January 2021</us-gaap:MinorityInterestDisclosureTextBlock>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="i38dd37fabd7347b28bf0dbc578ab1399_I20161231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMTA5OTUxMTYzNDE0OQ_7362a229-4182-4a16-8f66-389b6af1a377"
      unitRef="number">0.50</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjI2Mg_61791fbe-7a9c-4d80-bfa1-8eb11ba18de0"
      unitRef="usd">30000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjI4NQ_5fa50ecf-7b59-48ea-91aa-5c8b09882ebd"
      unitRef="shares">7300000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessAcquisitionSharePrice
      contextRef="ia8a19f1c060e4da782819b3a215c3250_I20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjMxOA_46e07499-5352-4d07-a9dd-2c510f0c3e64"
      unitRef="usdPerShare">20.39</us-gaap:BusinessAcquisitionSharePrice>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjM1OQ_a76522ca-3b99-48a5-9aed-5dbcd02f9106"
      unitRef="usd">148400000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjQxMg_0c2577cd-3708-4592-a004-66b2a928a03b"
      unitRef="usd">178400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjUzMQ_c80c00d3-f06c-4e3d-91f2-5165225186a5"
      unitRef="usd">148400000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjU4OQ_f56cdbfe-3ead-4200-ace6-d9f6c1400199"
      unitRef="usd">173900000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <tls:AdditionalPercentageOfOwnershipAcquired
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjc0MA_3ab57d8a-ba4d-453b-9f1a-9c3ba884ab3a"
      unitRef="number">0.50</tls:AdditionalPercentageOfOwnershipAcquired>
    <tls:ImpactOfStockIssuanceToAdditionalPaidInCapitalFromBusinessCombination
      contextRef="i90d525ce90524aaf8bfa907919df39f5_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjc4Mw_23f7b667-e470-4dbd-b8e7-9dff93a8a4d9"
      unitRef="usd">25500000</tls:ImpactOfStockIssuanceToAdditionalPaidInCapitalFromBusinessCombination>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="ib3df180d00014f54ac3811a12661e385_D20210101-20210131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF80MC9mcmFnOjM1ZjRiNDE0ZDVkZTRlZTRhMTFkYzcwMzI3N2Y3YmUyL3RleHRyZWdpb246MzVmNGI0MTRkNWRlNGVlNGExMWRjNzAzMjc3ZjdiZTJfMjk4MQ_3286fadb-cbf9-456d-8f0b-97bcd597ff52"
      unitRef="usd">2400000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RleHRyZWdpb246OGY4YjFkZTgzMWVjNDY1NzlkMDVlZmEzYWYyZjY2MjdfMzI5ODUzNDkwNjg0NA_1845c6f8-6026-4cc0-868a-ef108f7949c6">ACCOUNTS PAYABLE AND OTHER ACCRUED LIABILITIES&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 11: Details of Accounts Payable and Other Accrued Liabilities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable - trade&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,929&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,109&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,300&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Others&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,374&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,379&#160;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable and other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,548&#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;</us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RleHRyZWdpb246OGY4YjFkZTgzMWVjNDY1NzlkMDVlZmEzYWYyZjY2MjdfMzI5ODUzNDkwNjg0NQ_0e0e49e7-db64-4017-b58c-c29f9e513600">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 11: Details of Accounts Payable and Other Accrued Liabilities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable - trade&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,929&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,109&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,300&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Others&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,374&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,379&#160;&lt;/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 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accounts payable and other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,412&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,548&#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;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfMy0xLTEtMS05MDI0Mg_7dc15bd4-b37f-4e96-b4eb-fd2abda8e8ac"
      unitRef="usd">15929000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfMy0zLTEtMS05MDI0Mg_acf26b1d-b8d2-49cb-9cb9-fc580c20fa5f"
      unitRef="usd">7869000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfNC0xLTEtMS05MDI0Mg_6771a2ca-0da7-4e77-a166-33416f361bf7"
      unitRef="usd">18109000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfNC0zLTEtMS05MDI0Mg_99117963-9b52-4884-a11b-108e6fde3560"
      unitRef="usd">25300000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfNS0xLTEtMS05MDczNA_ce14e8e6-3484-40ad-bdca-a8536b74274f"
      unitRef="usd">1374000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfNS0zLTEtMS05MDczNA_9a5d6aea-b009-4eeb-93c1-8577a2eb87f1"
      unitRef="usd">1379000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfNS0xLTEtMS05MDI0Mg_7eff56ea-a002-4507-add7-14319af99706"
      unitRef="usd">35412000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81NS9mcmFnOjhmOGIxZGU4MzFlYzQ2NTc5ZDA1ZWZhM2FmMmY2NjI3L3RhYmxlOmVmZWEwMWVlNGMxMDRiOTViNmQ0Mzc0MGE0NjkzNDNjL3RhYmxlcmFuZ2U6ZWZlYTAxZWU0YzEwNGI5NWI2ZDQzNzQwYTQ2OTM0M2NfNS0zLTEtMS05MDI0Mg_92d3c979-00f9-421b-9603-49cbd893c805"
      unitRef="usd">34548000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfNDE5MA_117ea062-5aee-4e56-9b6a-58957bd01961">STOCK-BASED COMPENSATION&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our 2016 Omnibus Long-Term Incentive Plan (the "2016 LTIP") provides for the grant of restricted stock units with time-based vesting ("Service-Based RSU" or "RSU") and restricted stock units with performance-based vesting (Performance-Based RSU" or "PRSU") to our senior executives, directors, employees, and other service providers. Awards granted under the 2016 LTIP vest over the periods determined by the Board of Directors or the Compensation Committee of the Board of Directors, generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMzI5ODUzNDkxNzg1NQ_fad9b2ee-e8e8-4ae2-a22d-ec448d259db0"&gt;one&lt;/span&gt; to three years. The Company records stock-based compensation related to accrued compensation in which it intends to settle in shares of the Company&#x2019;s common stock. However, it is the Company&#x2019;s discretion whether this compensation will ultimately be paid in stock or cash, as it has the right to dictate the form of these payments up until the date at which they are paid.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The stock-based compensation expense includes an immaterial adjustment of $0.7&#160;million and $1.3&#160;million for the three and six months ended June 30, 2022 related to the prior year. There were no income tax benefits recognized on the share-based compensation expense for both periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 12.1: Details of Stock Compensation Expense by Department&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Cost of sales &#x2013; services&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;862&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;631&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,256&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,420&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,233&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,088&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,780&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;692&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;648&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,109&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,560&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,861&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&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.816%"/&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.816%"/&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.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 12.2: Service-Based RSU and Performance-Based RSU Award Activity&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Service-Based RSU&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Performance-Based RSU&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted-Average 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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Unvested outstanding units as of December 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,030,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;492,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,523,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.24&#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&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,759,037&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,759,037&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10.01&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,416,116)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,416,116)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32.83&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(260,588)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(113,566)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(374,154)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33.15&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unvested outstanding units as of June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,112,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;379,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,492,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18.04&#160;&lt;/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:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2022, the intrinsic value of the RSUs and PRSUs outstanding, exercisable, and vested or expected to vest was $44.2&#160;million. There was $61.0&#160;million of total compensation costs related to stock-based awards not yet recognized as of June&#160;30,&#160;2022, which is expected to be recognized on a straight-line basis over a weighted-average remaining vesting period of approximately 1.3 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib5111cf50a764becbbfe446752dc84a0_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMzI5ODUzNDkxNzg1Ng_bdbc63bc-ce99-4b04-9b08-47d5912d78f0">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i646329069de74a28b3294c6dd0c8c074_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMTA5OTUxMTY2MjI2Mg_a9919836-e926-42f3-aae7-8c94fc8a0eda"
      unitRef="usd">700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i88ca2afde9f94681b29351591d5e4889_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMTA5OTUxMTY2MjI4MA_888b62dc-08c6-4d09-b9d0-2c6bc1f9e0b9"
      unitRef="usd">1300000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMzI5ODUzNDkxNzg2NA_7abb30b6-b87e-4dfd-82d9-f36d4b01bb61"
      unitRef="usd">0</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMzI5ODUzNDkxNzg2NA_d8372087-c65e-4be5-905d-be5f31cc7cb7"
      unitRef="usd">0</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMzI5ODUzNDkxNzg1Mg_c5bbad67-9d2d-465b-98d2-4baee9f0ed96">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 12.1: Details of Stock Compensation Expense by Department&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Cost of sales &#x2013; services&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;862&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;631&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,256&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,420&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,233&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,088&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,780&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;692&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;648&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,109&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,560&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,861&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i258a4bd6dcf24ea081f98b09a07d0206_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMi0xLTEtMS04MTcwNg_6e6b3176-2424-4ac2-add8-bef69110783a"
      unitRef="usd">862000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0bfb083a3ec349d2bb33a679d58ef99e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMi0zLTEtMS04MTcwNg_57a5a840-6b39-4620-a2eb-6d98bc62ed6e"
      unitRef="usd">631000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib501dbcad9e74987beba99edcec53aca_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMi01LTEtMS04MTcwNg_dbfa9292-e03a-4e15-be06-16872cacbc8c"
      unitRef="usd">1869000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0708ce871420443c93a4b38e0258f83d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMi03LTEtMS04MTcwNg_d50f02f1-5a24-4a1f-a2d1-8a968dc6a897"
      unitRef="usd">1256000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie8c92d8f73d94858855893cf2559ea3c_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMy0xLTEtMS04MTcwNg_84def094-3ca9-40c7-8812-1e2aeaecb9dd"
      unitRef="usd">1420000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i018a2f9e19e54cc6b601923078ada49e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMy0zLTEtMS04MTcwNg_d13925c2-0fbe-466e-b6e0-f74f7ea57780"
      unitRef="usd">2233000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ice5ee36745e9419584dabb2b3a6ee011_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMy01LTEtMS04MTcwNg_b062aa4e-60c3-4c03-8dad-13ce86b9ce9e"
      unitRef="usd">3088000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9003182f75524bc1a14f35b929f1f71e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfMy03LTEtMS04MTcwNg_607789ef-7551-45e8-ab2b-66e1e2d66e4f"
      unitRef="usd">3780000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic5ac97fcbe2c4b168e13325fbdb285d6_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNC0xLTEtMS04MTcwNg_c2496bcf-8dcb-4c32-bd46-6e7dcc262208"
      unitRef="usd">692000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2ccb9d3422e8455fb6dae9b945d94574_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNC0zLTEtMS04MTcwNg_e24bdfce-4084-4126-9ccb-fee524805ace"
      unitRef="usd">648000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia87af4789fa646daa22df826e106ca11_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNC01LTEtMS04MTcwNg_d4d95256-d45d-4cbd-aace-c189cba8d198"
      unitRef="usd">1987000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9feaa4707f844a609c8df44bcad40161_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNC03LTEtMS04MTcwNg_157975db-3830-4b63-94c1-9e150a708265"
      unitRef="usd">1109000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if326fee5908343f09d21085ec1c393eb_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNS0xLTEtMS04MTcwNg_f945c07b-365b-4399-933a-5f9fde378a82"
      unitRef="usd">12232000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic524ddbf5de44a89a1e89e8a8b5eb19f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNS0zLTEtMS04MTcwNg_c581c32b-70b4-4130-b910-870068a6e962"
      unitRef="usd">17824000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ida8feff5f29f4c159328569a7dcdf47e_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNS01LTEtMS04MTcwNg_2ddf66ea-2c4c-4bff-9ab6-f656788b4dcf"
      unitRef="usd">22560000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie10567ed45a6486b9f59afe91b06ecc2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNS03LTEtMS04MTcwNg_8474aec5-3c4f-4fab-aae2-6a3f30c8d3fa"
      unitRef="usd">28861000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNi0xLTEtMS04MTcwNg_a86722f3-d45d-4104-9e20-5d3ec06ae51a"
      unitRef="usd">15206000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNi0zLTEtMS04MTcwNg_21f3d25a-83d8-469c-8105-f9824b40121a"
      unitRef="usd">21336000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNi01LTEtMS04MTcwNg_48478d3d-79e9-46a2-9db6-189f59cc81d3"
      unitRef="usd">29504000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjgxNDM1YjBhYjlmZTRhMjg5NTdmNDhlN2RiZTgyNDlhL3RhYmxlcmFuZ2U6ODE0MzViMGFiOWZlNGEyODk1N2Y0OGU3ZGJlODI0OWFfNi03LTEtMS04MTcwNg_400251f6-03e1-4b52-b100-ef9e101d7973"
      unitRef="usd">35006000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfNDE5Mg_fc26b56d-5ccf-4fbe-adbe-bb9820633663">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.816%"/&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.816%"/&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.816%"/&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.820%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 12.2: Service-Based RSU and Performance-Based RSU Award Activity&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Service-Based RSU&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Performance-Based RSU&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted-Average 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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Unvested outstanding units as of December 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,030,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;492,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,523,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.24&#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&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,759,037&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,759,037&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10.01&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,416,116)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,416,116)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32.83&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(260,588)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(113,566)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(374,154)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33.15&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unvested outstanding units as of June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,112,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;379,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,492,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18.04&#160;&lt;/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;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i4750421fd1794a93835e6b8b363a5795_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfMy0xLTEtMS04ODI3Mw_a8459162-88ac-4845-85db-58f1055e2dbd"
      unitRef="shares">3030608</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i654f450be35f4ea4920a8c332eca9589_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfMy0zLTEtMS04ODI3Mw_ddafd5a5-7d5d-45c2-a7fc-bcc3b5ec31da"
      unitRef="shares">492727</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfMy01LTEtMS04ODI3Mw_89c3a9c4-5648-415a-b89e-888f241e8967"
      unitRef="shares">3523335</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfMy03LTEtMS04ODI3Mw_260ee87f-7378-491b-b224-c19f4c50719a"
      unitRef="usdPerShare">34.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ic80bd5aa28af40bf827ce8f8adb2d72e_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNC0xLTEtMS04ODI3Mw_fad9fc01-72f4-4370-ba38-2632318fe021"
      unitRef="shares">3759037</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1460ebcbd5cf407c9670c4b42eec777c_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNC0zLTEtMS04ODI3Mw_2a8cdeef-c7b0-4e09-b151-5a25fca88a05"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNC01LTEtMS04ODI3Mw_808be531-c035-46f7-a6bf-80dc921bea19"
      unitRef="shares">3759037</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNC03LTEtMS04ODI3Mw_19b1cf68-add1-4fec-8e68-3b08ea91caeb"
      unitRef="usdPerShare">10.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ic80bd5aa28af40bf827ce8f8adb2d72e_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNS0xLTEtMS04ODI3Mw_52105114-73b8-45dc-96f6-e1cd73d01f6f"
      unitRef="shares">1416116</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i1460ebcbd5cf407c9670c4b42eec777c_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNS0zLTEtMS04ODI3Mw_eeec2da0-fb80-40b6-a51b-20195a5d69e1"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNS01LTEtMS04ODI3Mw_ace395af-b483-4f68-857b-4f34417de3c0"
      unitRef="shares">1416116</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNS03LTEtMS04ODI3Mw_83e8de35-7f3d-452a-bdd9-c5bdbc3d65f8"
      unitRef="usdPerShare">32.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ic80bd5aa28af40bf827ce8f8adb2d72e_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNi0xLTEtMS04ODI3Mw_97985f63-7449-4e0f-a0ba-05011e294e5e"
      unitRef="shares">260588</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i1460ebcbd5cf407c9670c4b42eec777c_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNi0zLTEtMS04ODI3Mw_d0e779d9-6e06-4393-b0c0-6f06217dc3e3"
      unitRef="shares">113566</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNi01LTEtMS04ODI3Mw_0102d356-ef0b-4f93-b0cb-37707c8af374"
      unitRef="shares">374154</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNi03LTEtMS04ODI3Mw_43ea5606-4ae2-4e97-854f-d9edc752c2e9"
      unitRef="usdPerShare">33.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i6c8e7a36902f4acc92c2d727951c608e_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNy0xLTEtMS04ODI3Mw_2718ed79-89f0-4a8e-a570-4ef0bcd7d5b8"
      unitRef="shares">5112941</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="icb79f765c432408081e30ab54f1dd4c9_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNy0zLTEtMS04ODI3Mw_176b10a4-4ed7-4606-91bc-015012bb7f0a"
      unitRef="shares">379161</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNy01LTEtMS04ODI3Mw_3e7bd48d-d350-498a-aeb6-c6f98edcf0f7"
      unitRef="shares">5492102</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RhYmxlOjc3Yjc0MTA1NmZmNDQ3NmU5ZGNkMmY4YWNhNTU5YjBlL3RhYmxlcmFuZ2U6NzdiNzQxMDU2ZmY0NDc2ZTlkY2QyZjhhY2E1NTliMGVfNy03LTEtMS04ODI3Mw_47fc268f-1698-4f01-9d20-013435c71720"
      unitRef="usdPerShare">18.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstandingExercisableAndVestedOrExpectedToVest
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMTA5OTUxMTY2MjEzNA_a530deca-9882-4cc9-910f-0ce86b0a0e27"
      unitRef="usd">44200000</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstandingExercisableAndVestedOrExpectedToVest>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMTA5OTUxMTY1OTU4NA_62b678d1-cd6f-47a5-a54d-64a65e1ee79d"
      unitRef="usd">61000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82Ny9mcmFnOjAwNjQwZjk4YWE5YjRiNTc4MGY4Y2Q2ZDc3MWIyNzM1L3RleHRyZWdpb246MDA2NDBmOThhYTliNGI1NzgwZjhjZDZkNzcxYjI3MzVfMTA5OTUxMTY1OTU2MA_640ba260-4b8c-4ad1-8738-f39394dc93b1">P1Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:TreasuryStockTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGV4dHJlZ2lvbjplYTY3MzM2ZTM2MWM0YzBhOWY4NWMyOTJhN2I1NTZlNV8zMjk4NTM0ODg2Njg1_3c4c91c1-1d8c-4d84-8aec-97743c10ec73">SHARE REPURCHASES&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May&#160;24, 2022, the Company announced that the Board of Directors approved a new share repurchase program ("SRP") authorizing the Company to repurchase up to $50.0&#160;million of its common stock. Pursuant to this authorization, the Company may repurchase shares of its common stock on a discretionary basis from time to time through open market purchases. The repurchase program has no expiration date and may be modified, suspended, or terminated at any time. As of June 30, 2022, there was $47.0 million of the remaining authorization for future common stock repurchases under the SRP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 13: Shares Repurchase Activity&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands, except per share and share data)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amount paid for shares repurchased &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,002&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,002&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Number of shares repurchased&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;360,439&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;360,439&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Average per share price paid &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8.33&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8.33&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.68pt"&gt;Includes commissions paid for repurchases on the open market.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of August 5, 2022, the Company repurchased an additional 142,536 shares of its common stock, for $1.1 million since June 30, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:TreasuryStockTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="icbb54db36474405f96e5a07800c303a1_I20220524"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGV4dHJlZ2lvbjplYTY3MzM2ZTM2MWM0YzBhOWY4NWMyOTJhN2I1NTZlNV80Mzk4MDQ2NTExMjgy_516a2771-f3ff-4aef-afe4-aab9ef4e9b0d"
      unitRef="usd">50000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGV4dHJlZ2lvbjplYTY3MzM2ZTM2MWM0YzBhOWY4NWMyOTJhN2I1NTZlNV8xMDk5NTExNjMyMzA1_d9789efa-72ed-4e99-b102-e64358d66f99"
      unitRef="usd">47000000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGV4dHJlZ2lvbjplYTY3MzM2ZTM2MWM0YzBhOWY4NWMyOTJhN2I1NTZlNV8zMjk4NTM0ODg2Njg2_b484105c-0972-491a-9053-d615eb00ac27">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 13: Shares Repurchase Activity&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands, except per share and share data)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amount paid for shares repurchased &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,002&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,002&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Number of shares repurchased&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;360,439&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;360,439&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Average per share price paid &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8.33&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8.33&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.68pt"&gt;Includes commissions paid for repurchases on the open market.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl80LTEtMS0xLTg1MzU3_01d9acb2-3301-403e-8762-a8c29b486d61"
      unitRef="usd">3002000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl80LTMtMS0xLTg1MzU3_07c75b43-ec65-431c-9929-70d4ab9def94"
      unitRef="usd">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl80LTUtMS0xLTg1MzU3_4c7e0dee-487e-47c3-971d-a8cb4c60d332"
      unitRef="usd">3002000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl80LTctMS0xLTg1MzU3_abb750da-aba8-43c2-94a9-ced3aa5b65c7"
      unitRef="usd">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl81LTEtMS0xLTg1MzU3_04a59b5f-db95-426f-bea0-ada5ed85b29a"
      unitRef="shares">360439</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl81LTMtMS0xLTg1MzU3_d8cc35cd-85eb-4f08-b7a1-3a3528f86183"
      unitRef="shares">0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl81LTUtMS0xLTg1MzU3_98dfc4ff-0d71-49b9-83d9-13dcbf553432"
      unitRef="shares">360439</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl81LTctMS0xLTg1MzU3_a72558a1-07a1-4acb-a508-2ae6066b7351"
      unitRef="shares">0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl82LTEtMS0xLTg1MzU3_d97f97ca-12cd-48fc-bec9-07af16f2ef47"
      unitRef="usdPerShare">8.33</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl82LTMtMS0xLTg1MzU3_e3467bc3-cffc-4fa5-833d-a22bf7ef7e84"
      unitRef="usdPerShare">0</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl82LTUtMS0xLTg1MzU3_324758b8-7b25-4bb6-9149-4a2783b17d63"
      unitRef="usdPerShare">8.33</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGFibGU6MTMwOWI3ZGQwOTlmNGIxZDg5MDU0MDNmMDViM2RjYzYvdGFibGVyYW5nZToxMzA5YjdkZDA5OWY0YjFkODkwNTQwM2YwNWIzZGNjNl82LTctMS0xLTg1MzU3_19134755-7afd-4e9f-8327-0ae89b203ca6"
      unitRef="usdPerShare">0</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ifd7264830f2349ada191de5af67678e5_D20220701-20220805"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGV4dHJlZ2lvbjplYTY3MzM2ZTM2MWM0YzBhOWY4NWMyOTJhN2I1NTZlNV8xMDk5NTExNjMyMTMz_70b2bf52-dbb3-4058-a7b2-0f070b8f5052"
      unitRef="shares">142536</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ifd7264830f2349ada191de5af67678e5_D20220701-20220805"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMjg4L2ZyYWc6ZWE2NzMzNmUzNjFjNGMwYTlmODVjMjkyYTdiNTU2ZTUvdGV4dHJlZ2lvbjplYTY3MzM2ZTM2MWM0YzBhOWY4NWMyOTJhN2I1NTZlNV8xMDk5NTExNjMyMTQ4_84939ffc-2d36-4ecd-9acf-b4c883b6308b"
      unitRef="usd">1100000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGV4dHJlZ2lvbjoxNmI3ZTlkMWEzMjk0YTU5YmZiNTRkNmI5ZWEzZGU1MF8zMjk4NTM0ODkxMTM0_8b2e97b1-6f0f-4b08-a5e5-793c5d2bea74">ACCUMULATED OTHER COMPREHENSIVE LOSS&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our functional currency is the U.S. Dollar. For one of our wholly-owned subsidiaries, the functional currency is the local currency. For this subsidiary, the translation of its foreign currency into U.S. Dollars is performed for assets and liabilities using current foreign currency exchange rates in effect at the balance sheet date and for revenue and expense accounts using average foreign currency exchange rates during the periods presented. Translation gains and losses are included in stockholders&#x2019; equity as a component of accumulated other comprehensive loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 14: Details of Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cumulative foreign currency translation loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(116)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cumulative actuarial gain on pension liability 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGV4dHJlZ2lvbjoxNmI3ZTlkMWEzMjk0YTU5YmZiNTRkNmI5ZWEzZGU1MF8zMjk4NTM0ODkxMTM1_4ba80319-47cf-433e-a4ab-28146a8a434c">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 14: Details of Accumulated Other Comprehensive Loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cumulative foreign currency translation loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(116)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cumulative actuarial gain on pension liability 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGFibGU6OWE1MTFiM2JlM2RlNGJjM2JjYjY4MTNhN2U2ODdmODUvdGFibGVyYW5nZTo5YTUxMWIzYmUzZGU0YmMzYmNiNjgxM2E3ZTY4N2Y4NV8xLTEtMS0xLTc4MjYz_dab2a883-419a-4619-a59d-fe28c1bf102d"
      unitRef="usd">-116000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGFibGU6OWE1MTFiM2JlM2RlNGJjM2JjYjY4MTNhN2U2ODdmODUvdGFibGVyYW5nZTo5YTUxMWIzYmUzZGU0YmMzYmNiNjgxM2E3ZTY4N2Y4NV8xLTMtMS0xLTc4MjYz_4cf15840-da64-4aac-b370-d1bea9b0e253"
      unitRef="usd">-134000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGFibGU6OWE1MTFiM2JlM2RlNGJjM2JjYjY4MTNhN2U2ODdmODUvdGFibGVyYW5nZTo5YTUxMWIzYmUzZGU0YmMzYmNiNjgxM2E3ZTY4N2Y4NV8yLTEtMS0xLTc4MjYz_d9bd4f47-6bdc-468b-af2b-951e6f3cc497"
      unitRef="usd">-107000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGFibGU6OWE1MTFiM2JlM2RlNGJjM2JjYjY4MTNhN2U2ODdmODUvdGFibGVyYW5nZTo5YTUxMWIzYmUzZGU0YmMzYmNiNjgxM2E3ZTY4N2Y4NV8yLTMtMS0xLTc4MjYz_b1426f75-3800-40f7-8cf9-4584c20ce957"
      unitRef="usd">-107000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGFibGU6OWE1MTFiM2JlM2RlNGJjM2JjYjY4MTNhN2U2ODdmODUvdGFibGVyYW5nZTo5YTUxMWIzYmUzZGU0YmMzYmNiNjgxM2E3ZTY4N2Y4NV8zLTEtMS0xLTc4MjYz_a510c387-e250-4131-8507-79598b888b64"
      unitRef="usd">-9000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTMzL2ZyYWc6MTZiN2U5ZDFhMzI5NGE1OWJmYjU0ZDZiOWVhM2RlNTAvdGFibGU6OWE1MTFiM2JlM2RlNGJjM2JjYjY4MTNhN2U2ODdmODUvdGFibGVyYW5nZTo5YTUxMWIzYmUzZGU0YmMzYmNiNjgxM2E3ZTY4N2Y4NV8zLTMtMS0xLTc4MjYz_922576b9-44ae-44b7-b707-c6b49f9472b7"
      unitRef="usd">-27000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGV4dHJlZ2lvbjo0MDhmODVhMWM0MWM0YjM5YTMxYTBiMDkzMGMzYWFjYV8zMjk4NTM0ODg3NzM1_f3ebaa3b-e9c4-4593-8a80-a46ddba84272">LOSS PER SHARE&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of common shares outstanding for the period, without consideration for potentially dilutive securities. Diluted net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of shares of common stock and dilutive common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Dilutive common stock equivalents are comprised of unvested restricted common stock and warrants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the period of net loss, potentially dilutive securities are not included in the calculation of diluted net earnings (loss) per share, because to do so would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 15: Potentially Dilutive Securities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock and restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,030&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;239&#160;&lt;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Common stock warrants, exercisable at $1.665 per share&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;856&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;857&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,886&#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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,096&#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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unvested antidilutive stock units excluded from the dilutive effect (stock units)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,056&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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 colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,348&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGV4dHJlZ2lvbjo0MDhmODVhMWM0MWM0YjM5YTMxYTBiMDkzMGMzYWFjYV8zMjk4NTM0ODg3NzM2_2d34b3f0-b0fc-42fd-9b23-a1bf555c90cc">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 15: Potentially Dilutive Securities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock and restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,030&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;239&#160;&lt;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Common stock warrants, exercisable at $1.665 per share&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;856&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;857&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,886&#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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,096&#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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unvested antidilutive stock units excluded from the dilutive effect (stock units)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,056&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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 colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,348&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;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3667ce0f3b8d4589bfddf0ae084f5601_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8yLTEtMS0xLTc4Mjc4_23621427-b936-45bc-b3d2-07c2a1b7513c"
      unitRef="shares">57000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id15a96c1515a4adba6fba38dcf9f5c72_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8yLTMtMS0xLTc4Mjc4_1edcc8fa-b5be-48a0-8442-9f20a392735f"
      unitRef="shares">1030000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i57088350b0d048e9be68796fcd364d5d_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8yLTUtMS0xLTc4Mjc4_2b08f4d1-19fd-4a8b-8156-555c82d09352"
      unitRef="shares">211000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3365d8ca6c1143368cf7bbff9c8e1f7a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8yLTctMS0xLTc4Mjc4_b6f4150f-2857-497c-b3e5-e028ba34cd26"
      unitRef="shares">239000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8zLTAtMS0xLTc4Mjc4L3RleHRyZWdpb246Njk5NTBkYmZjYjU2NDM0MTg4OWEyZWFlMTBhYmQxZDBfNDI_5a5c9d59-ce24-4b86-bc25-6d465a9f9834"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i354beeb1944a480087d077d19de09ba3_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8zLTAtMS0xLTc4Mjc4L3RleHRyZWdpb246Njk5NTBkYmZjYjU2NDM0MTg4OWEyZWFlMTBhYmQxZDBfNDI_961128bf-f1aa-4eab-b645-c312881444bb"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ie272cebb1ccc4d0a98a7b871da99689d_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8zLTEtMS0xLTc4Mjc4_77218784-dddb-470a-931e-df486eed2d2b"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6725c36511404284979906dd2a09db8c_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8zLTMtMS0xLTc4Mjc4_363f7096-346c-4f14-8cb9-b12524268400"
      unitRef="shares">856000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ibe70e649e22b422192f539472ba67758_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8zLTUtMS0xLTc4Mjc4_4d06c1b6-a9ee-40c9-93d4-5f953a56e5ed"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i982b07416e024a1e8beb503bd2899605_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV8zLTctMS0xLTc4Mjc4_19cdcf9e-83ea-4191-9fc7-eb6d0c8067c7"
      unitRef="shares">857000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV80LTEtMS0xLTc4Mjc4_a1d73da2-8ddc-49b4-8c00-6b6ad9357636"
      unitRef="shares">57000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV80LTMtMS0xLTc4Mjc4_3077841d-5817-4010-a3ff-1a6168d51a39"
      unitRef="shares">1886000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV80LTUtMS0xLTc4Mjc4_6fd06895-ff82-47d4-a5f7-a23a43c04e33"
      unitRef="shares">211000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV80LTctMS0xLTc4Mjc4_67eec176-02e6-469a-9b5c-68a24b587254"
      unitRef="shares">1096000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV83LTEtMS0xLTg1NjE4_13484197-7cc5-444f-80e9-b0f0994a4e8c"
      unitRef="shares">3056000</tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect>
    <tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV83LTMtMS0xLTkwODQy_c827f24b-8938-4248-a2f8-35150662f305"
      unitRef="shares">0</tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect>
    <tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV83LTUtMS0xLTg1NjIy_c183d9a1-bb3b-43e3-ba7a-ba61d56d57a7"
      unitRef="shares">1348000</tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect>
    <tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTczL2ZyYWc6NDA4Zjg1YTFjNDFjNGIzOWEzMWEwYjA5MzBjM2FhY2EvdGFibGU6NzE0YjE2MzI0NWUxNDlmMjllYjU4NDg2ZjI0YTYzZDkvdGFibGVyYW5nZTo3MTRiMTYzMjQ1ZTE0OWYyOWViNTg0ODZmMjRhNjNkOV83LTctMS0xLTkwODQy_e76991fa-2d3b-47d6-9cd4-3cead7929637"
      unitRef="shares">0</tls:IncrementalCommonSharesExcludedFromTheDilutiveEffect>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMjMzOQ_e2ca8ee2-ace9-420d-9d09-4972339f597e">RELATED PARTY TRANSACTIONS&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Emmett J. Wood, the brother of our Chairman and CEO, has been an employee of the Company since 1996. The amounts paid to this individual as compensation were $93,000 and $605,000 for the three and six months ended June&#160;30, 2022, respectively, and $83,000 and $301,000 for the three and six months ended June&#160;30, 2021, respectively. Additionally, Mr. Wood owned 94,547 and 73,562 shares of the Company&#x2019;s common stock as of June&#160;30, 2022, and December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;One of the Company&#x2019;s directors serves as a consultant to the Company. In February 2022, the director and the Company amended the consulting agreement to provide that the Company would pay the remainder of the director&#x2019;s consulting fees for 2022 in a fixed price amount in the form of restricted stock units. The Company granted the director 26,091 restricted stock units on February&#160;1, 2022, which vest quarterly in four equal amounts through the end of the year, subject to the director&#x2019;s continued performance under the consulting agreement. The amounts paid for his consulting services were $25,000 for the three and six months ended June 30, 2022, and $70,500 and $141,000 for the three and six months ended June 30, 2021, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="if898720672374c16a2f231e94a9b916a_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMjAw_a43f5567-68e3-49af-8e96-bbaa9bf02aa8"
      unitRef="usd">93000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i199c9a5fd2c24095a876196fc930e994_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMjA3_8482ad34-ba6e-4896-a4f1-da317f672709"
      unitRef="usd">605000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ia12e4996331a43278607ad6dc669b736_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMjY3_cd68c779-5872-4ce2-b3a1-bc1ff2c55520"
      unitRef="usd">83000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="iafe689e888494f42945d41a5df8a5d47_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMjc0_57a365d3-1500-41d1-984f-7eb0cede19ff"
      unitRef="usd">301000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <tls:NumberOfSharesHeldByRelatedParty
      contextRef="ic820181cd384456bb50b06a609a55265_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzMzI5NQ_809b2e28-37f0-4b19-9df9-1fc00d493cdf"
      unitRef="shares">94547</tls:NumberOfSharesHeldByRelatedParty>
    <tls:NumberOfSharesHeldByRelatedParty
      contextRef="i4838f270d403400f90d3ddb77dbf42f6_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzMzA5OQ_50792a28-d00d-4430-9a2a-8a8f076b9461"
      unitRef="shares">73562</tls:NumberOfSharesHeldByRelatedParty>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i5b5b39d4713f44fb9edaaba34de63d9a_D20220201-20220201"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzMzI1OQ_aaebbf44-edad-43c7-854d-229bb31281ac"
      unitRef="shares">26091</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i448ddb66794344bfabadb3aa7e2fb512_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzNDI2OQ_18c64151-b64e-411e-9986-b1f8a3b343db"
      unitRef="usd">25000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="icd77d0fa69c54eac94f6f465850420f7_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzNDI2OQ_45a54aef-7f6e-494a-904b-d6317e1cd7c0"
      unitRef="usd">25000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i7aeea7f6cca34f3abd41a2146c89d756_D20210401-20210630"
      decimals="-2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzNDM0MQ_f955424b-9ab4-467c-8bf3-34f76ae6b787"
      unitRef="usd">70500</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="if9dc4dbbf9a14da2a5d0c5ee80df610c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF82MS9mcmFnOmExZGFmMTA4ZTg2MjQxYzVhZDM5NTVhNWIxZWU4YTg5L3RleHRyZWdpb246YTFkYWYxMDhlODYyNDFjNWFkMzk1NWE1YjFlZThhODlfMTA5OTUxMTYzNDM0OQ_e997e812-faf8-4ef7-874c-537803a2f6ce"
      unitRef="usd">141000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGV4dHJlZ2lvbjplMWEwNjJiNDYyNWI0NmVlYjliYjBlYjVmMTI1NDQwOF8zMjk4NTM0ODkxMzY1_f3a64c8c-391d-47e9-9b6f-f05442326897">SEGMENT INFORMATION&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As noted in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1212" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note &lt;/a&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1212" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;2&lt;/a&gt;&lt;a href="#i5e52abc5e29f4a28946750af1bbde310_1212" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt; - Significant Accounting Policies&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, during the fourth quarter of 2021, as a result of the segment reorganization, our CODM began evaluating, overseeing and managing the financial performance of our operations through two operating segments: Security Solutions and Secure Networks. The segments enable the alignment of our strategies and objectives and provide a framework for timely and rational allocation of resources within the lines of business. We eliminate any inter-segment revenues and expenses upon consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Security Solutions segment is primarily focused on cybersecurity, cloud and identity solutions, and secure messaging through Xacta&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:112%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;, Telos Ghost&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:112%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;, Telos&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:112%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; Advanced Cyber Analytics, Telos&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:112%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; AMHS and Telos&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:112%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; ID offerings. We recognize revenue on contracts from providing various system platforms in the cloud, on-premises and in hybrid cloud environments, as well as software sales or software-as-a-service. Revenue associated with the segment's custom solutions is recognized as work progresses or upon delivery of services and products. Fluctuation in revenue from period to period is the result of the volume of software sales, and progress or completion of cloud and/or cybersecurity solutions during the period. The majority of the operating costs relates to labor, material, and overhead costs. Software sales have immaterial operation costs associated with them, thus yielding higher margins. Gross profit and margin are a function of operational efficiency on security solutions and changes in the volume of software sales. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Secure Networks segment provides secure networking architectures and solutions to our customers through secure mobility solutions and network management and defense services. Revenue is recognized over time as the work progresses on contracts related to managing network services and information delivery. Contract costs include labor, material and overhead costs. Variances in costs recognized from period to period primarily reflect increases and decreases in activity level on individual contracts. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 17: Results of Operations by Business Segment&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&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 #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenues:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross profit:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;16,433&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,188&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,485&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,515&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,496&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,346&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,315&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,489&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,095&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,005&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66,700&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,969&#160;&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,166)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(26,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(30,965)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other income/(expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,022)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(187)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(192)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(377)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(388)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,235)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,631)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,375)&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&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Provision for income 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(54)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(125)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(47)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,289)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27,272)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure each segment's profitability based on gross profit. We account for inter-segment sales and transfers as if the sales or transfers were to third parties, that is, at current market prices. Interest income, interest expense, other income and expense items and income taxes, as reported in the consolidated financial statements, are not part of the segment profitability measure, and are primarily recorded at the corporate level. Under U.S. government Cost Accounting Standards, indirect costs including depreciation and amortization expense, are collected in numerous indirect cost pools, which are then collectively allocated out to the Company&#x2019;s reportable segments based on a representative causal or beneficial relationship of the costs in the pool to the costs in the base. While depreciation and amortization expense is a component of the allocated costs, the allocation process precludes depreciation and amortization expense from being specifically identified by the Company&#x2019;s individual reportable and operating segments. For this reason, the non-cash items by a reportable and operating segment have not been reported above.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Management does not utilize total assets by segment to evaluate segment performance or allocate resources. As a result, assets are not tracked by segment and therefore, total assets by segment are not disclosed.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGV4dHJlZ2lvbjplMWEwNjJiNDYyNWI0NmVlYjliYjBlYjVmMTI1NDQwOF8zMjk4NTM0ODkxMzY3_aaa79991-d6c7-4d70-b3bf-9e970c92c5b2"
      unitRef="segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGV4dHJlZ2lvbjplMWEwNjJiNDYyNWI0NmVlYjliYjBlYjVmMTI1NDQwOF8zMjk4NTM0ODkxMzY2_2bbf39d8-768f-4f60-a13f-ae5f5d7a9035">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&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:12.788%"/&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:12.788%"/&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:12.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 17: Results of Operations by Business Segment&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&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 #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenues:&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,819&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,236&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,738&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,066&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,972&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,408&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,213&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross profit:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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 #000;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 #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;16,433&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,188&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,485&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,515&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,496&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,346&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,315&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 7pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,489&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,929&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,095&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,005&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66,700&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,969&#160;&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,166)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(26,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(30,965)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other income/(expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,022)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(187)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(192)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(377)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(388)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,235)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,631)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27,147)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,375)&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&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Provision for income 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(54)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(125)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(47)&lt;/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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(12,289)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(27,272)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie0b0a9adc7614ffda9cfcc26a95d3421_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV80LTEtMS0xLTczNjgy_dc460be2-8f77-4489-b67b-ddc47281021c"
      unitRef="usd">30819000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0e6f372cb9b45fd89757c8f2dfe1507_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV80LTMtMS0xLTczNjgy_efa08b9f-819c-4c95-a549-fd3a6db1ee0e"
      unitRef="usd">32236000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id957e51ac3fd4c839d35023e4fcafbeb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8zLTUtMS0xLTc3MjM5_3daac53a-4b39-4e75-b061-53060aff5f0f"
      unitRef="usd">57738000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i927b02f11ad8457c94049bf329326266_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8zLTctMS0xLTc3MjM5_da719cbf-ff0e-42fe-8335-9b842f58428f"
      unitRef="usd">55066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c09ff7a502b4cc6b42de6fe1f88a066_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV81LTEtMS0xLTczNjgy_867eeef6-21fd-4105-98e2-42ee50720f46"
      unitRef="usd">24972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib75031f8f7db438cbea03bec857c97d4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV81LTMtMS0xLTczNjgy_53b6354b-7170-496c-8da0-61431543c58f"
      unitRef="usd">21408000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id089027634ec4d6e8a9f9576a738d55c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV80LTUtMS0xLTc3MjM5_6bce7a08-29d3-4f5b-9e25-e33d6d7ed60b"
      unitRef="usd">48213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib18ab346634c40968b5d857404a79ae0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV80LTctMS0xLTc3MjM5_7e300757-0960-412e-a9eb-c5c0e7909362"
      unitRef="usd">54336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV82LTEtMS0xLTczNjgy_c5b8bb79-b552-432b-817b-0185d9a5a6d2"
      unitRef="usd">55791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV82LTMtMS0xLTczNjgy_64423d60-f109-4a99-82a3-61862d66fadd"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV81LTUtMS0xLTc3MjM5_49a40530-ea69-42e0-b4dd-3c611ca260e6"
      unitRef="usd">105951000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV81LTctMS0xLTc3MjM5_d73e4a18-4c01-47a2-b15c-d8b596b2d8c6"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="ie0b0a9adc7614ffda9cfcc26a95d3421_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV85LTEtMS0xLTczNjgy_fbfcdd91-074e-445e-aaee-2d40885b3eae"
      unitRef="usd">16433000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="if0e6f372cb9b45fd89757c8f2dfe1507_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV85LTMtMS0xLTczNjgy_7bc64894-9418-496f-8200-56de5d2033fa"
      unitRef="usd">17188000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="id957e51ac3fd4c839d35023e4fcafbeb_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV84LTUtMS0xLTc3MjQ1_061f7540-8459-4e28-8445-59a56f602e57"
      unitRef="usd">31485000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i927b02f11ad8457c94049bf329326266_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV84LTctMS0xLTc3MjQ1_cdd29f87-5a99-4f99-be43-39b9d6f4fc7e"
      unitRef="usd">26515000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i6c09ff7a502b4cc6b42de6fe1f88a066_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMC0xLTEtMS03MzY4Mg_01ab4118-2cab-426c-a34b-2285a61890b1"
      unitRef="usd">4496000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib75031f8f7db438cbea03bec857c97d4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMC0zLTEtMS03MzY4Mg_61ae0cd9-f5bb-4998-b17f-29fb41b20f77"
      unitRef="usd">5346000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="id089027634ec4d6e8a9f9576a738d55c_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV85LTUtMS0xLTc3MjQ1_d3e31ef2-557b-447e-b55f-0cb21a966428"
      unitRef="usd">8315000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib18ab346634c40968b5d857404a79ae0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV85LTctMS0xLTc3MjQ1_5d2e70e8-1c68-4932-93d4-4316072dde27"
      unitRef="usd">10489000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMS0xLTEtMS03MzY4Mg_8ba5af4d-eb3b-42a4-a3e3-427b26c383c7"
      unitRef="usd">20929000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMS0zLTEtMS03MzY4Mg_6c5cbc74-d320-4216-9af6-fb92c15a47ed"
      unitRef="usd">22534000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMC01LTEtMS03NzI0NQ_891b2dd1-9068-4fd3-a417-8433220256c2"
      unitRef="usd">39800000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMC03LTEtMS03NzI0NQ_4c0fdac2-c784-4267-8058-d0b2ec8a169d"
      unitRef="usd">37004000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMi0xLTEtMS05MTQzNg_e84a177b-ca30-4435-9762-4f4260532616"
      unitRef="usd">33095000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMi0zLTEtMS05MTQzNg_22056336-0927-4c83-8b57-69616b315556"
      unitRef="usd">40005000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMi01LTEtMS05MTQzNg_0ce7239b-51f5-433c-8670-1c5ac6ed77ba"
      unitRef="usd">66700000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMi03LTEtMS05MTQzNg_4aab791f-9e6e-436f-8b8c-c02d9e5af205"
      unitRef="usd">67969000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMy0xLTEtMS05MTQzNg_73c3bfb3-0e3c-40d9-9d49-eb8dc0f7f2b3"
      unitRef="usd">-12166000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMy0zLTEtMS05MTQzNg_26e05ed8-3326-4412-b1e9-120d43c1950e"
      unitRef="usd">-17471000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMy01LTEtMS05MTQzNg_30fe8704-1a5e-4a88-9593-4e565a9d96a3"
      unitRef="usd">-26900000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xMy03LTEtMS05MTQzNg_3c71fa29-77e8-4b2a-b7be-342135353f9e"
      unitRef="usd">-30965000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNC0xLTEtMS05MTQzNg_b51a93a1-1df2-4f2b-aec1-16a4b0a99b2a"
      unitRef="usd">118000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNC0zLTEtMS05MTQzNg_7f404d30-1044-4054-84f9-17b92a438c8b"
      unitRef="usd">32000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNC01LTEtMS05MTQzNg_bb06b8ae-f433-45a2-9286-83f140cc72b0"
      unitRef="usd">130000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNC03LTEtMS05MTQzNg_c3a77669-07ac-44ba-8f9e-5637b0f6dcdd"
      unitRef="usd">-1022000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNS0xLTEtMS05MTQzNg_8713a69b-cace-413e-8a5b-c5424ba6f6d8"
      unitRef="usd">187000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNS0zLTEtMS05MTQzNg_7277677c-e8f1-49ef-817f-f59149e2cd26"
      unitRef="usd">192000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNS01LTEtMS05MTQzNg_46187f85-910d-4097-9f2f-a72e699d044d"
      unitRef="usd">377000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNS03LTEtMS05MTQzNg_b4253d32-3a72-4de3-92d4-406949e337f1"
      unitRef="usd">388000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNi0xLTEtMS05MTQzNg_96c57f64-246b-4500-8eb5-1682ca279b3b"
      unitRef="usd">-12235000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNi0zLTEtMS05MTQzNg_6c4eacd7-cd16-4069-8b04-af7f332ff914"
      unitRef="usd">-17631000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNi01LTEtMS05MTQzNg_d100274d-c5e9-445e-af69-4c14ba0ff215"
      unitRef="usd">-27147000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNi03LTEtMS05MTQzNg_2fb1e3cd-c0cc-4bcc-9fd6-e3baf9c9491c"
      unitRef="usd">-32375000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNy0xLTEtMS05MTQzNg_74789ec9-5c94-44df-b974-19321c9c2fae"
      unitRef="usd">54000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNy0zLTEtMS05MTQzNg_6a08b4f8-dbd0-4fdd-a082-90ad53d3e580"
      unitRef="usd">13000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNy01LTEtMS05MTQzNg_94d5b836-a3f9-49db-ad39-851e85a0ac77"
      unitRef="usd">125000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xNy03LTEtMS05MTQzNg_728058a2-fc06-46bd-8478-19932f39cfbf"
      unitRef="usd">47000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="ia3bd19dc9a84487e84fa1a973b9ee932_D20220401-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xOC0xLTEtMS05MTQzNg_6443c617-2849-4e1d-a999-9fb340bfddd1"
      unitRef="usd">-12289000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xOC0zLTEtMS05MTQzNg_e795c4de-f40c-49a0-8292-960373ba14db"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xOC01LTEtMS05MTQzNg_ecef62ba-a4dd-4720-9b81-cb7d2406ef5b"
      unitRef="usd">-27272000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTEzL2ZyYWc6ZTFhMDYyYjQ2MjViNDZlZWI5YmIwZWI1ZjEyNTQ0MDgvdGFibGU6MThmNTE0OWFlZGE5NDRkNzk4ZWI2NGY2MzZiMzdlODEvdGFibGVyYW5nZToxOGY1MTQ5YWVkYTk0NGQ3OThlYjY0ZjYzNmIzN2U4MV8xOC03LTEtMS05MTQzNg_32ac04d3-9303-4740-8960-1bd0a0da42f4"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:ErrorCorrectionTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18zMjk4NTM0ODg4NjUy_58a00d5b-2a82-4c38-b131-424542f53d88">REVISION OF PRIOR YEAR INTERIM FINANCIAL STATEMENTS&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the third quarter of 2021, the Company identified that stock compensation for a single individual was incorrectly charged to "cost of sales - services" instead of "general and administrative expense." The total amount of stock compensation incorrectly charged to cost of sales was $0.3&#160;million, of which $0.1&#160;million was related to the first quarter of 2021, and $0.2&#160;million related to the second quarter of 2021. The Company corrected the error during the third quarter of 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the third quarter of 2021, the Company identified that the allocation of stock compensation for two of the Company's overhead cost pools was incorrectly charged to "cost of sales" instead of "general and administrative expense" during the second quarter of 2021. The total amount of the allocated stock compensation incorrectly charged to cost of sales was $0.7&#160;million, which the Company corrected during the third quarter of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the third quarter of 2021, the Company identified $1.1&#160;million in revenue related to the stub period of a newly awarded contract that should have been recognized as income during the second quarter of 2021. The Company initially corrected the error during the third quarter of 2021. Additionally, and related to this contract, in the fourth quarter of 2021 the Company identified $0.3&#160;million of products revenue for the second quarter of 2021 that should be classified in the condensed consolidated statements of operations as services revenue. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company erroneously presented the $2.4&#160;million final payment to fully acquire all membership interest of Telos ID as an operating activity on the condensed consolidated statements of cash flows. The Company corrected the presentation to properly reflect the final payment within financing activities on the consolidated statements of cash flows in the fourth quarter of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.622%"/&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.355%"/&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.355%"/&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.355%"/&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.355%"/&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.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.1: Impact of the Correction to the Condensed Consolidated Statement of Operations&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands, except per share amounts)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenue - services&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47,618&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,385&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,003&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;99,676&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,385&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;101,061&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenue - products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,941&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(300)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,641&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,641&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(300)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,341&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52,559&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108,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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of sales - services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,501&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(892)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,609&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;69,103&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,004)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;68,099&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,002&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(892)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,110&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;73,402&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,004)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72,398&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,743&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,635&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,708&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,004&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,712&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,113&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,005&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66,965&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,004&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,969&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,556)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,050)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(30,965)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Loss before 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,716)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,631)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,460)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,375)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to Telos Corporation&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.28)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.26)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.51)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.49)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.28)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.26)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.51)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.49)&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.066%"/&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.355%"/&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.911%"/&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.355%"/&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.355%"/&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.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.2: Impact of the Correction to the Condensed Consolidated Statement of Comprehensive Loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Comprehensive loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,724)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,639)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,534)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,449)&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.788%"/&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:17.788%"/&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:17.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.3. Impact of the Correction to the Condensed Consolidated Statement of Cash Flows&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(10,074)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,351&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8,723)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(5,790)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,436&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,354)&lt;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Distribution to Telos ID Class B member &#x2013; non-controlling interest&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,436)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,436)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash provided by financing activities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,474&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,436)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,038&#160;&lt;/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:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.066%"/&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.355%"/&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.911%"/&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.355%"/&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.355%"/&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.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.4. Impact of the Correction to the Condensed Consolidated Statement of Changes in Stockholders' Equity&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(177,350)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(176,265)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(177,350)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(176,265)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Stockholders' equity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;164,700&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;165,785&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;164,700&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;165,785&#160;&lt;/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:ErrorCorrectionTextBlock>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i2bcf45cfca5840b8a52ed7404eeae8b1_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMwMzI1_527ee9d2-de3e-4724-8be5-bcf8c1cc7be0"
      unitRef="usd">300000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="if049ff22b8194e70910810178c0b02ae_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMwMzM5_90d5ea07-2c13-46ad-8477-c3412f2d3637"
      unitRef="usd">100000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i05469077eb0544ed94143f8a6b46c668_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMwMzg5_98455f65-07ea-4189-b800-43c1a190caee"
      unitRef="usd">200000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="if04c7041840c4661baafe6bc77c5b136_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMwODYw_d65889c6-4c26-40f9-9c98-a79c0953eb3a"
      unitRef="usd">700000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMwOTgw_280087a9-4c82-44fe-b7ec-b04a683addc0"
      unitRef="usd">1100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2c15e5e7c1745c68ba17f65e7367ca3_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMxMzAy_34c84934-9479-4d98-8069-b891268a4f0b"
      unitRef="usd">-300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic65202506e444675a020bd34c265f3dd_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMxMzAy_5c8dba86-2b6d-42f8-9938-f46c8f9436b0"
      unitRef="usd">300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18xMDk5NTExNjMxNDk4_45deda95-0330-4626-9722-a274b358f964"
      unitRef="usd">2400000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGV4dHJlZ2lvbjo5YzA4NjQzMWYwZTE0NGM0OTFmNGIzMzZmZjNiMzBjM18zMjk4NTM0ODg4NjUz_2b84e69c-182a-46ee-938a-54df24c50f61">&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.622%"/&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.355%"/&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.355%"/&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.355%"/&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.355%"/&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.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.1: Impact of the Correction to the Condensed Consolidated Statement of Operations&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands, except per share amounts)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenue - services&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47,618&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,385&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,003&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;99,676&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,385&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;101,061&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenue - products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,941&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(300)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,641&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,641&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(300)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,341&#160;&lt;/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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52,559&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,644&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108,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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;109,402&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of sales - services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,501&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(892)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,609&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;69,103&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,004)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;68,099&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,002&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(892)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,110&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;73,402&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,004)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72,398&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,743&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,635&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,708&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,004&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,712&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,113&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,005&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66,965&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,004&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,969&#160;&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,556)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,050)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(30,965)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Loss before 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,716)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,631)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,460)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,375)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to Telos Corporation&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.28)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.26)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.51)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.49)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.28)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.26)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.51)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.02&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(0.49)&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.066%"/&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.355%"/&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.911%"/&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.355%"/&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.355%"/&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.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.2: Impact of the Correction to the Condensed Consolidated Statement of Comprehensive Loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Comprehensive loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,724)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,639)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,534)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,449)&lt;/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;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.788%"/&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:17.788%"/&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:17.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.3. Impact of the Correction to the Condensed Consolidated Statement of Cash Flows&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(10,074)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,351&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8,723)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(5,790)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,436&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,354)&lt;/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&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%"&gt;Distribution to Telos ID Class B member &#x2013; non-controlling interest&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,436)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,436)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash provided by financing activities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,474&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,436)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,038&#160;&lt;/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:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.066%"/&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.355%"/&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.911%"/&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.355%"/&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.355%"/&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.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 18.4. Impact of the Correction to the Condensed Consolidated Statement of Changes in Stockholders' Equity&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended June 30, 2021&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,644)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(33,507)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32,422)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(177,350)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(176,265)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(177,350)&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(176,265)&lt;/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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Stockholders' equity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;164,700&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;165,785&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;164,700&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,085&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;165,785&#160;&lt;/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:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5b4d2e401994c468e7afec8886c893c_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8zLTEtMS0xLTc4MDcx_0b1dac58-4bd9-486c-a690-fa5c1cb427f0"
      unitRef="usd">47618000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibbe5d405626542878708d15ddf50121e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8zLTMtMS0xLTc4MDcx_0a4029d0-c421-4a75-a81f-dc1f94825859"
      unitRef="usd">1385000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibaf810ef27594c8abff74ea283aa233b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8zLTUtMS0xLTc4MDcx_b7ede835-1e86-4dae-a3ed-4f5173462f6f"
      unitRef="usd">49003000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i07400c7c89db4ba395f60d9fd8a92b46_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8zLTctMS0xLTc4MDcx_d87b201f-3b45-4d28-ad2d-f027445d899f"
      unitRef="usd">99676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0196371b83104afc8a88e7ca18492176_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8zLTktMS0xLTc4MDcx_dd967be1-5140-4e3f-9000-6dcd8c553bd7"
      unitRef="usd">1385000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaee07bb999014af08ce1b0b8dea69469_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8zLTExLTEtMS03ODA3MQ_d901b68a-3822-4d60-96c7-246a77f17c51"
      unitRef="usd">101061000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idcfecdfd8ebc49008f53695efab93524_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF80LTEtMS0xLTc4MDcx_76dd4a7f-daf1-4915-af4b-b1dfe1f7c993"
      unitRef="usd">4941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id485b6b4c49a461e90533454916d091a_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF80LTMtMS0xLTc4MDcx_05cdb2db-14d7-44ff-9541-c9d3f9933242"
      unitRef="usd">-300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5c29decc40084bb59203daeadc8c41c7_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF80LTUtMS0xLTc4MDcx_42311c4a-ec41-4a58-9768-044ce906d099"
      unitRef="usd">4641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id12f31bea0f64e2381ac98a36534a7f0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF80LTctMS0xLTc4MDcx_c51f3261-1827-46a6-9fc7-53bc3e7113d8"
      unitRef="usd">8641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5b165e446274a2184fad19fc8a930ec_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF80LTktMS0xLTc4MDcx_4972ddc4-2fc2-45c8-aa3d-16a7913d36bf"
      unitRef="usd">-300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i66fc968999a54a458c9e42cea6bebe89_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF80LTExLTEtMS03ODA3MQ_ff90e692-0484-4cfd-ad58-3f60407b1a72"
      unitRef="usd">8341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF81LTEtMS0xLTc4MDcx_c7d4a480-1955-4721-acb3-2c0dbc19478e"
      unitRef="usd">52559000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF81LTMtMS0xLTc4MDcx_7bcf2859-be69-400e-85af-df769e13f87e"
      unitRef="usd">1085000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF81LTUtMS0xLTc4MDcx_5057bc76-e068-4123-8471-1d718201eff6"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF81LTctMS0xLTc4MDcx_b28f23c4-5567-4cc2-92b5-ff7c86a3580e"
      unitRef="usd">108317000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF81LTktMS0xLTc4MDcx_74a588aa-ae03-4ad9-9df4-0f7c9fc7bc00"
      unitRef="usd">1085000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF81LTExLTEtMS03ODA3MQ_a2f3db0e-64c5-400d-8bec-41c5363f64e6"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia5b4d2e401994c468e7afec8886c893c_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF82LTEtMS0xLTc4MDcx_dc49bce1-69c8-4c48-bab9-8d0a7baeb3fa"
      unitRef="usd">29501000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ibbe5d405626542878708d15ddf50121e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF82LTMtMS0xLTc4MDcx_61b5209d-950d-46b3-b8a5-c4084adbae7d"
      unitRef="usd">-892000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ibaf810ef27594c8abff74ea283aa233b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF82LTUtMS0xLTc4MDcx_329ecdcf-adf8-4e05-abde-c8c89ccc1ebc"
      unitRef="usd">28609000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i07400c7c89db4ba395f60d9fd8a92b46_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF82LTctMS0xLTc4MDcx_4432e9a4-7b27-4058-8d33-749db8c39ae9"
      unitRef="usd">69103000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0196371b83104afc8a88e7ca18492176_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF82LTktMS0xLTc4MDcx_c2f81c23-d16f-4751-bb16-eed0f44049d8"
      unitRef="usd">-1004000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iaee07bb999014af08ce1b0b8dea69469_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF82LTExLTEtMS03ODA3MQ_0280b2a1-df13-434e-a15c-11d8e6638382"
      unitRef="usd">68099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="icfb0fb5ed5f64198bcebad58b3e2fb18_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF83LTEtMS0xLTc4MDcx_750e1117-e135-4afb-b46a-b870dee070ae"
      unitRef="usd">32002000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5e8ecae19593464d8197ccf558612f98_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF83LTMtMS0xLTc4MDcx_19233a64-8d58-429f-8726-39e39707aa15"
      unitRef="usd">-892000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i09c0a9d3c2fd4103beb851da85b2b9df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF83LTUtMS0xLTc4MDcx_2fd36d8f-2fca-4f35-b5b9-0e078626d2bc"
      unitRef="usd">31110000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i68c9b08374e44e74848c4e848367d5a1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF83LTctMS0xLTc4MDcx_d45ee072-0792-4719-8e38-58f1c4042df6"
      unitRef="usd">73402000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8f934ea919714bba9fe97aaa062992e6_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF83LTktMS0xLTc4MDcx_9f1d43e9-7e01-4ab7-a347-aad4f27dfb34"
      unitRef="usd">-1004000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5047aa72e30d4260b80cce076de416ef_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF83LTExLTEtMS03ODA3MQ_82d06a78-4b4e-45ac-a69d-c4c36bbaf2c4"
      unitRef="usd">72398000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF84LTEtMS0xLTc4MDcx_21201e81-39a8-4c5f-a854-98862cefb51f"
      unitRef="usd">28743000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF84LTMtMS0xLTc4MDcx_f0515670-65de-4f49-acfe-1a4774cd410e"
      unitRef="usd">892000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF84LTUtMS0xLTc4MDcx_784280a1-0e9e-48bf-9430-6ef2d60711f9"
      unitRef="usd">29635000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF84LTctMS0xLTc4MDcx_fe2bf9f2-ed2b-489d-a9f0-260e45a46d24"
      unitRef="usd">48708000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF84LTktMS0xLTc4MDcx_574e6d7e-3343-45ba-a2b5-1ef65abb778e"
      unitRef="usd">1004000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF84LTExLTEtMS03ODA3MQ_6191c596-7798-45f3-957b-76b428a6a2ee"
      unitRef="usd">49712000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF85LTEtMS0xLTc4MDcx_5b71446b-1cd3-4458-a9bb-195b835d7374"
      unitRef="usd">39113000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF85LTMtMS0xLTc4MDcx_94fe775b-e798-4c57-92c4-e69ebef47c4a"
      unitRef="usd">892000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF85LTUtMS0xLTc4MDcx_2f262354-67c2-4f4b-8690-36a3eccbd54f"
      unitRef="usd">40005000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF85LTctMS0xLTc4MDcx_c1d83636-1bf4-403a-9d37-bd81f7318792"
      unitRef="usd">66965000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF85LTktMS0xLTc4MDcx_8e0a36fa-51cf-4b5e-9e83-a583916a2d24"
      unitRef="usd">1004000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF85LTExLTEtMS03ODA3MQ_c3a47812-3a2f-4728-aa4e-a5a2bc88df97"
      unitRef="usd">67969000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMC0xLTEtMS03ODA3MQ_012accec-297e-41db-bbad-0644b58c5c95"
      unitRef="usd">-18556000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMC0zLTEtMS03ODA3MQ_00a230f6-ab0d-478d-ad6e-6b3bc75cbef7"
      unitRef="usd">1085000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMC01LTEtMS03ODA3MQ_5a052d3f-5f49-45f4-b831-07da6aee3370"
      unitRef="usd">-17471000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMC03LTEtMS03ODA3MQ_2d26ae4f-1040-4478-bf86-591fdced8520"
      unitRef="usd">-32050000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMC05LTEtMS03ODA3MQ_d633fd84-ac20-4346-a484-49cf3344a2b8"
      unitRef="usd">1085000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMC0xMS0xLTEtNzgwNzE_204466ee-b6b5-48be-9360-fc052ef4772e"
      unitRef="usd">-30965000</us-gaap:OperatingIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMS0xLTEtMS03ODA3MQ_cb1f37a8-df6c-4798-b6c6-11a9ef9c0030"
      unitRef="usd">-18716000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMS0zLTEtMS03ODA3MQ_e7440bf2-23ce-4236-a379-7cb8caa3723e"
      unitRef="usd">1085000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMS01LTEtMS03ODA3MQ_7f1cde74-b42f-4677-8491-83d9d20eb023"
      unitRef="usd">-17631000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMS03LTEtMS03ODA3MQ_5fd6b62b-5bc3-4e77-bf1b-559d31b47411"
      unitRef="usd">-33460000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMS05LTEtMS03ODA3MQ_73583110-0d71-4e8f-835b-7c8f559f7e58"
      unitRef="usd">1085000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMS0xMS0xLTEtNzgwNzE_0a065085-6d12-49fa-b048-679826c49827"
      unitRef="usd">-32375000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMi0xLTEtMS03ODA3MQ_37d9be48-7d84-48d2-af9b-24e612df0125"
      unitRef="usd">-18729000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMi0zLTEtMS03ODA3MQ_1953c88e-c33a-492e-85aa-e442b12e3c68"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMi01LTEtMS03ODA3MQ_836e8093-7fd4-4dac-b30f-03e938467527"
      unitRef="usd">-17644000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMi03LTEtMS03ODA3MQ_c075a72f-f720-41d0-b976-df99679181aa"
      unitRef="usd">-33507000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMi05LTEtMS03ODA3MQ_73b5e3b5-1e63-458b-9260-9815509d0470"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMi0xMS0xLTEtNzgwNzE_c14a16da-40cd-4d73-b805-bdb5f7b0c106"
      unitRef="usd">-32422000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMy0xLTEtMS03ODA3MQ_f3549e18-3970-4145-aa06-2496f60490d4"
      unitRef="usd">-18729000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMy0zLTEtMS03ODA3MQ_cad712fb-15bc-49b1-8db5-25f857f0400c"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMy01LTEtMS03ODA3MQ_ded0db74-e8fa-4aa6-a5ef-17335a798a9c"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMy03LTEtMS03ODA3MQ_18f5eb2b-920d-4076-bcaf-2258104e8cfa"
      unitRef="usd">-33507000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMy05LTEtMS03ODA3MQ_c30376e7-9243-4643-8584-19228cca9d29"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xMy0xMS0xLTEtNzgwNzE_8b68cc77-0816-4baa-9042-77ea2eaa00d2"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNS0xLTEtMS03ODA3MQ_9d9b749b-dfa7-4fee-b097-e63b4790254d"
      unitRef="usdPerShare">-0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNS0zLTEtMS03ODA3MQ_e7d7aab3-21f6-4ba6-ad3f-2f10b0081814"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNS01LTEtMS03ODA3MQ_10238f3a-b16e-4a3a-b78a-3ba069b60bd4"
      unitRef="usdPerShare">-0.26</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNS03LTEtMS03ODA3MQ_b938d83f-63a7-4e5e-b93c-162cadf1ec73"
      unitRef="usdPerShare">-0.51</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNS05LTEtMS03ODA3MQ_c3dc5c6c-182d-475c-98d7-3c2f8370c6cc"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNS0xMS0xLTEtNzgwNzE_d36e74a6-5560-41b0-985f-bf146f016a28"
      unitRef="usdPerShare">-0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNi0xLTEtMS03ODA3MQ_71c0947a-c15c-487d-99c7-1c10bf4364db"
      unitRef="usdPerShare">-0.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNi0zLTEtMS03ODA3MQ_ea1707f6-4738-4485-a0cd-fa81ca67ab87"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNi01LTEtMS03ODA3MQ_76713020-db36-471d-8ae3-1d2919b2bba9"
      unitRef="usdPerShare">-0.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNi03LTEtMS03ODA3MQ_91c83f59-cb42-4e5b-9699-61a2e6f2a923"
      unitRef="usdPerShare">-0.51</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNi05LTEtMS03ODA3MQ_1facc6f7-92d8-4df3-9adc-66e09ece849c"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6MmRmMzc2ZTg4ZWUxNDc2MmE3NDFhOGQ4MjY4ZjgwMzQvdGFibGVyYW5nZToyZGYzNzZlODhlZTE0NzYyYTc0MWE4ZDgyNjhmODAzNF8xNi0xMS0xLTEtNzgwNzE_d156bd28-e4d4-44f6-89b3-f1400f32fab5"
      unitRef="usdPerShare">-0.49</us-gaap:EarningsPerShareDiluted>
    <us-gaap:NetIncomeLoss
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV8zLTEtMS0xLTc4MDcx_4cc0c9c3-f107-4733-9135-8ceb76289a2f"
      unitRef="usd">-18729000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV8zLTMtMS0xLTc4MDcx_fc137aec-3efa-4a85-bef9-ec855d3eec1c"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV8zLTUtMS0xLTc4MDcx_2fd2af7f-43d0-4c10-90c1-1f04d92bb87f"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV8zLTctMS0xLTc4MDcx_9f48933c-d692-4ec9-a638-5538e5ab428d"
      unitRef="usd">-33507000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV8zLTktMS0xLTc4MDcx_a0a5d760-7b6b-461a-b977-01174e13bd4a"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV8zLTExLTEtMS03ODA3MQ_01128fe7-5e45-4eec-bf19-2875dc723ee6"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV80LTEtMS0xLTc4MDcx_a2865991-28b5-45f1-b0e9-16c14b430e62"
      unitRef="usd">-18724000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV80LTMtMS0xLTc4MDcx_b0f2eb43-d262-4dd7-b7f2-5a82c07c732b"
      unitRef="usd">1085000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV80LTUtMS0xLTc4MDcx_d64afdce-5041-4d82-a072-9ec14c4c24ac"
      unitRef="usd">-17639000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV80LTctMS0xLTc4MDcx_a84fe098-0cd8-44a0-ad61-d221ac7d9820"
      unitRef="usd">-33534000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV80LTktMS0xLTc4MDcx_91fb7290-a754-45f7-bdf9-990d7dd44359"
      unitRef="usd">1085000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6YTk2MThmMmNiNzkzNDllMDg3MzJlZGQzOWEyNThkZmEvdGFibGVyYW5nZTphOTYxOGYyY2I3OTM0OWUwODczMmVkZDM5YTI1OGRmYV80LTExLTEtMS03ODA3MQ_1399239a-9917-46d4-837d-b5cf86738924"
      unitRef="usd">-32449000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl8zLTEtMS0xLTc4MDcx_2e26428f-e67e-4686-8c9a-cde5b59c1438"
      unitRef="usd">-33507000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl8zLTMtMS0xLTc4MDcx_9819901d-1f43-40fa-a7c2-b24246d1117f"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl8zLTUtMS0xLTc4MDcx_97a53267-5c25-45d5-88af-8dbbf9c3b637"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl80LTEtMS0xLTc4MDcx_bf42eac7-2b24-4668-90bf-de9f545f3449"
      unitRef="usd">10074000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl80LTMtMS0xLTc4MDcx_2c6f1e4a-973c-4336-8358-917747cc2749"
      unitRef="usd">-1351000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl80LTUtMS0xLTc4MDcx_13b8ba72-8ec5-46ed-8b4f-433414500762"
      unitRef="usd">8723000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl81LTEtMS0xLTc4MDcx_eea2a450-438a-42dc-a470-eeda31d1d5d8"
      unitRef="usd">-5790000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl81LTMtMS0xLTc4MDcx_d25a9281-7249-41ee-9b00-f4d72d9cc93f"
      unitRef="usd">2436000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl81LTUtMS0xLTc4MDcx_d76e5f95-f447-426e-8af5-e8e7778fb990"
      unitRef="usd">-3354000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl82LTEtMS0xLTc4MDcx_c020f929-8a18-4c71-b830-ae90eb78b7fd"
      unitRef="usd">0</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl82LTMtMS0xLTc4MDcx_82bf9047-481b-4625-9d64-7ee6076ffef6"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl82LTUtMS0xLTc4MDcx_3a1f617d-3f75-4fd4-9aaa-f70f02ac23f5"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl83LTEtMS0xLTc4MDcx_fee5f2d4-f3c1-435a-a98d-d359e570244e"
      unitRef="usd">35474000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl83LTMtMS0xLTc4MDcx_3d723f78-0169-43ee-8791-8b9dc4638ed5"
      unitRef="usd">-2436000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6Y2VhY2U3YjM4NzdmNDhmZmFlYjQwZWZmZDc5OWQ5MWIvdGFibGVyYW5nZTpjZWFjZTdiMzg3N2Y0OGZmYWViNDBlZmZkNzk5ZDkxYl83LTUtMS0xLTc4MDcx_4e9afcb9-6769-4ef4-a3d4-b91f75b1573a"
      unitRef="usd">33038000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetIncomeLoss
      contextRef="i967a1f464e3e46f9b121bd89c2f6a825_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF8zLTEtMS0xLTc4MDcx_14f54e8f-88c5-4e51-9843-80bcb8f55e94"
      unitRef="usd">-18729000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic84d4a3412c64222a192960493678164_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF8zLTMtMS0xLTc4MDcx_41a806c8-0dfb-4855-aeff-bab01b61ec7b"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ae34d6fdee34ef696592133abcc1c9f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF8zLTUtMS0xLTc4MDcx_fc642eea-7550-4371-870c-c40df22feb16"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6830e8fd99634d4ca3817f355f28dd61_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF8zLTctMS0xLTc4MDcx_d44f8c31-37ef-4f52-b8c7-202196fb121d"
      unitRef="usd">-33507000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i944a11bcbb534e078cd99b103e1c0f2d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF8zLTktMS0xLTc4MDcx_6ad41702-eb50-4475-a143-b05389df7329"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF8zLTExLTEtMS03ODA3MQ_77c05805-af2c-4f8e-91c8-ad282feb51cc"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="i467fdff00dd64b5a807cdb22d8ddaa6e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF80LTEtMS0xLTc4MDcx_bb458da9-6920-4d76-9fca-02ae68b2bfe3"
      unitRef="usd">-177350000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibd8f75c982e6439182b30b1d26837a48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF80LTMtMS0xLTc4MDcx_2ef59092-187c-4c8c-8c3c-c5a31276e4b0"
      unitRef="usd">1085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7708cdaed1a7437e983f72ac097aaf08_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF80LTUtMS0xLTc4MDcx_404c0dcc-526f-44ed-b46c-3e8be23cd362"
      unitRef="usd">-176265000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i467fdff00dd64b5a807cdb22d8ddaa6e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF80LTctMS0xLTc4MDcx_2b86d32f-7a9c-421f-b271-686331d647e5"
      unitRef="usd">-177350000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibd8f75c982e6439182b30b1d26837a48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF80LTktMS0xLTc4MDcx_b0be71fc-2237-4280-ad28-204f0b9e9c85"
      unitRef="usd">1085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7708cdaed1a7437e983f72ac097aaf08_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF80LTExLTEtMS03ODA3MQ_ab663a00-0d6b-447f-9db3-5b1cc738ffe5"
      unitRef="usd">-176265000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifadce6c934f844daabeba20d1215cce5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF81LTEtMS0xLTc4MDcx_7a21e67b-a145-493f-a57c-2588b49a7ef7"
      unitRef="usd">164700000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i34283770c42049a3b73e170c1fac7116_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF81LTMtMS0xLTc4MDcx_b99e1416-b9bd-4485-9069-60f8785d0444"
      unitRef="usd">1085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i354beeb1944a480087d077d19de09ba3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF81LTUtMS0xLTc4MDcx_e510ef0c-896b-4eb7-aaf2-6039232781cc"
      unitRef="usd">165785000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifadce6c934f844daabeba20d1215cce5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF81LTctMS0xLTc4MDcx_0c73c6b8-83fa-4bc0-a187-899c828622ed"
      unitRef="usd">164700000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i34283770c42049a3b73e170c1fac7116_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF81LTktMS0xLTc4MDcx_e70c53f1-9f6e-4158-a8c2-6cb15669d66c"
      unitRef="usd">1085000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i354beeb1944a480087d077d19de09ba3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMTQwL2ZyYWc6OWMwODY0MzFmMGUxNDRjNDkxZjRiMzM2ZmYzYjMwYzMvdGFibGU6NzM3ZTBiOThjZTAwNGZmY2FmNmQ1ZmYzOGVlMDhiMzQvdGFibGVyYW5nZTo3MzdlMGI5OGNlMDA0ZmZjYWY2ZDVmZjM4ZWUwOGIzNF81LTExLTEtMS03ODA3MQ_0e425c64-af3a-40ea-a06d-6b5926fcdf8a"
      unitRef="usd">165785000</us-gaap:StockholdersEquity>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF81OC9mcmFnOmE5YTE1YTk5ZTZkMzQyNjQ5N2JmNzZlYzRkNGUxYzVlL3RleHRyZWdpb246YTlhMTVhOTllNmQzNDI2NDk3YmY3NmVjNGQ0ZTFjNWVfNzEwNg_222394d6-580b-4461-89ba-5e4f93b22fbb">COMMITMENT AND CONTINGENCIES&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 7, 2022, Telos and certain of its current and former officers were named as defendants in a lawsuit filed in the United States District Court for the Eastern District of Virginia. In the complaint, the plaintiffs, who purport to represent a class of purchasers of Telos common stock between November 19, 2020, and March 16, 2022, allege that the defendants violated securities laws by failing to disclose delays relating to the launch of certain contracts between Telos and the Transportation Security Administration ("TSA") and the Centers for Medicare and Medicaid Services and to take into account those delays when providing a financial forecast for the Company&#x2019;s 2021 performance. On June 15, 2022, the Plaintiffs filed a consolidated complaint which added claims (i) concerning Telos' disclosure of revenue projections for these contracts, (ii) against the directors of Telos at the time of its initial public offering, and (iii) pursuant to Sections 11 and 15 of the Securities Act of 1933. The Company is vigorously defending the case, but given the early stage, although a loss may reasonably be possible, the Company is unable to predict the likelihood of success of plaintiffs' claims or estimate a loss or range of loss. As a result, no material liability has been recorded as of June 30, 2022 and December, 31, 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, the Company is a party to litigation arising in the ordinary course of business. In the opinion of management, while the results of such litigation cannot be predicted with any reasonable degree of certainty, the final outcome of such known matters will not, based upon all available information, have a material adverse effect on the Company's unaudited consolidated financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Other - Government Contracts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a U.S. government contractor, we are subject to various audits and investigations by the U.S. government to determine whether our operations are being conducted in accordance with applicable regulatory requirements. U.S. government investigations of our operations, whether relating to government contracts or conducted for other reasons, could result in administrative, civil, or criminal liabilities, including repayments, fines or penalties being imposed upon us, suspension, proposed debarment, debarment from eligibility for future U.S. government contracting, or suspension of export privileges. Suspension or debarment could have a material adverse effect on us because of our dependence on contracts with the U.S. government. U.S. government investigations often take years to complete, and many result in no adverse action against us. We also provide products and services to customers outside of the United States, which are subject to U.S. and foreign laws and regulations and foreign procurement policies and practices. Our compliance with local regulations or applicable U.S. government regulations also may be audited or investigated.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:CashFlowSupplementalDisclosuresTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGV4dHJlZ2lvbjo5ZDE5MjBiMjVmYzQ0NGMzODdkZmMwMTNmMDU0ODBhNV8zMjk4NTM0ODgzMzg4_534df835-3f20-4a04-9d89-7b9582916afd">SUPPLEMENTAL CASH FLOW INFORMATION&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 20.1: Details of Cash, Cash Equivalent, and Restricted Cash&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;122,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,562&#160;&lt;/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:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted cash &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash, cash equivalents, and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;122,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.68pt"&gt;Restricted cash consists of a commercial money market account held as a deposit on the Ashburn lease and is recorded under "Other assets" on the Consolidated Balance Sheets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 20.2: Supplemental Cash Flow Information&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Cash paid during the period for:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;353&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/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 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:9pt;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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Non-cash investing and financing activities:&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 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease ROU assets obtained in exchange for operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Capital expenditure activity in accounts payable and other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Common stock repurchase under SRP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:CashFlowSupplementalDisclosuresTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGV4dHJlZ2lvbjo5ZDE5MjBiMjVmYzQ0NGMzODdkZmMwMTNmMDU0ODBhNV8yNzQ4Nzc5MDcwMzM1_59cb4c36-7c73-45bc-aa8a-811e3f398b24">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 20.1: Details of Cash, Cash Equivalent, and Restricted Cash&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;122,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,562&#160;&lt;/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:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted cash &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash, cash equivalents, and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;122,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.68pt"&gt;Restricted cash consists of a commercial money market account held as a deposit on the Ashburn lease and is recorded under "Other assets" on the Consolidated Balance Sheets&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGV4dHJlZ2lvbjo5ZDE5MjBiMjVmYzQ0NGMzODdkZmMwMTNmMDU0ODBhNV8yNzQ4Nzc5MDcwMzM1_b8d57297-849b-4242-aa59-a9d5205b3d30">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 20.1: Details of Cash, Cash Equivalent, and Restricted Cash&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;122,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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,562&#160;&lt;/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:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted cash &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash, cash equivalents, and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;122,720&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:6pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.68pt"&gt;Restricted cash consists of a commercial money market account held as a deposit on the Ashburn lease and is recorded under "Other assets" on the Consolidated Balance Sheets&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6ZGUyOTBmNzRhOGZiNDczNWJjYTViMjgyNWExMGRlMzgvdGFibGVyYW5nZTpkZTI5MGY3NGE4ZmI0NzM1YmNhNWIyODI1YTEwZGUzOF80LTEtMS0xLTkxMTEz_1a6a306f-c61b-46cf-94e4-2bd54158df99"
      unitRef="usd">122588000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6ZGUyOTBmNzRhOGZiNDczNWJjYTViMjgyNWExMGRlMzgvdGFibGVyYW5nZTpkZTI5MGY3NGE4ZmI0NzM1YmNhNWIyODI1YTEwZGUzOF80LTMtMS0xLTkxMTEz_9dbe58ba-e510-4be3-bb71-0693f69b21b8"
      unitRef="usd">126562000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6ZGUyOTBmNzRhOGZiNDczNWJjYTViMjgyNWExMGRlMzgvdGFibGVyYW5nZTpkZTI5MGY3NGE4ZmI0NzM1YmNhNWIyODI1YTEwZGUzOF81LTEtMS0xLTkxMTEz_db3774d5-aab0-4da3-8125-29ecf3aec7f9"
      unitRef="usd">132000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6ZGUyOTBmNzRhOGZiNDczNWJjYTViMjgyNWExMGRlMzgvdGFibGVyYW5nZTpkZTI5MGY3NGE4ZmI0NzM1YmNhNWIyODI1YTEwZGUzOF81LTMtMS0xLTkxMTEz_a8bc4af6-3280-408a-bdd6-2303e72343f0"
      unitRef="usd">0</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7ab0034446d647f396ba64ea0d414d27_I20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6ZGUyOTBmNzRhOGZiNDczNWJjYTViMjgyNWExMGRlMzgvdGFibGVyYW5nZTpkZTI5MGY3NGE4ZmI0NzM1YmNhNWIyODI1YTEwZGUzOF82LTEtMS0xLTkxMTEz_0598cab2-f835-4e30-ac1b-394d14ac921c"
      unitRef="usd">122720000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5d39451b80264fef9037148b4937f2aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6ZGUyOTBmNzRhOGZiNDczNWJjYTViMjgyNWExMGRlMzgvdGFibGVyYW5nZTpkZTI5MGY3NGE4ZmI0NzM1YmNhNWIyODI1YTEwZGUzOF82LTMtMS0xLTkxMTEz_6e5b0be3-411c-4d92-ab75-1defa639491a"
      unitRef="usd">126562000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGV4dHJlZ2lvbjo5ZDE5MjBiMjVmYzQ0NGMzODdkZmMwMTNmMDU0ODBhNV8zMjk4NTM0ODgzMzg5_86835d32-b49b-447d-8aad-ebed43d1d68a">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.372%"/&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:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Table 20.2: Supplemental Cash Flow Information&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;For the Six Months Ended&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 #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2022&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Cash paid during the period for:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;353&#160;&lt;/span&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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;388&#160;&lt;/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 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:9pt;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;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Non-cash investing and financing activities:&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 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease ROU assets obtained in exchange for operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Capital expenditure activity in accounts payable and other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Common stock repurchase under SRP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
    <us-gaap:InterestPaidNet
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl8yLTEtMS0xLTg3MDg0_7e93bd84-4b9a-4159-becb-93c28c08760e"
      unitRef="usd">353000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl8yLTMtMS0xLTg3MDg0_9b338726-bba5-4935-a0a8-10b0b204038d"
      unitRef="usd">388000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl8zLTEtMS0xLTg3MDg0_cf676e5c-9eb9-4a5a-b61c-735b7fc3ce09"
      unitRef="usd">188000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl8zLTMtMS0xLTg3MDg0_db9f9004-5ac2-448f-ad7b-78f27b713fc3"
      unitRef="usd">54000</us-gaap:IncomeTaxesPaid>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl81LTEtMS0xLTg3MDg0_27e079b3-bb52-42ea-a31e-c97f9c887966"
      unitRef="usd">282000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl81LTMtMS0xLTg3MDg0_204eb7a4-3790-4c8a-8599-d38c6313b824"
      unitRef="usd">322000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl85LTEtMS0xLTkxMjgy_f68b82e1-766f-4c0d-9016-b862a9152256"
      unitRef="usd">296000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl85LTMtMS0xLTkxMjgy_95627ca0-6b79-4115-ba4d-e3b101476473"
      unitRef="usd">0</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <tls:NoncashCommonStockRepurchaseUnderStockRepurchasePlan
      contextRef="id126fd14460e45398fec5511a2a853b3_D20220101-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl84LTEtMS0xLTg3MTk2_4bd1dac2-cc6b-4104-93d3-0e8a055a266e"
      unitRef="usd">400000</tls:NoncashCommonStockRepurchaseUnderStockRepurchasePlan>
    <tls:NoncashCommonStockRepurchaseUnderStockRepurchasePlan
      contextRef="ib3b730346d544fa68cfc2d829894430c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNTJhYmM1ZTI5ZjRhMjg5NDY3NTBhZjFiYmRlMzEwL3NlYzo1ZTUyYWJjNWUyOWY0YTI4OTQ2NzUwYWYxYmJkZTMxMF8xMzMwL2ZyYWc6OWQxOTIwYjI1ZmM0NDRjMzg3ZGZjMDEzZjA1NDgwYTUvdGFibGU6YWZjZThjNjZkYThmNGNjMmE0NTFiNDI2ZGQ0ZjgzYTIvdGFibGVyYW5nZTphZmNlOGM2NmRhOGY0Y2MyYTQ1MWI0MjZkZDRmODNhMl84LTMtMS0xLTg3MTk2_4349c23d-ae0a-4fbc-a7f2-29ee00175cb0"
      unitRef="usd">0</tls:NoncashCommonStockRepurchaseUnderStockRepurchasePlan>
</xbrl>
