<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:nx="http://www.quanexbuildingproducts.com/20221031"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2021"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="nx-20221031.xsd" xlink:type="simple"/>
    <context id="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i0b68ddfcd9d24205bee429a4eadc79f7_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i402c15dcafd444cd9d8602d168f3de39_I20221208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="ib5c14058d79242e89abfb5ff0d29593b_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i3018633b8b10448a9fa108757193eead_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="if471912df9504e0598c1d2b37c8b5967_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i23ca82f72dab491a8ccf878dd9f06d63_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="iae65f68eb020430bb07cf0fad7381495_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="if4dd83aac78549f0b9c9f3fbd36b7577_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i6fcb4b7d93fc43b9b14455ceaa35cefa_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i0e11f65c53b94063a703605461564410_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="iccb93a0f0a894ed9bc2b925150c5d065_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i02109c7449a44953a1108b65d6bdb877_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ia6b0c8213a294ba3a0500108ecf33353_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i084b27670cfb4a42a9d55f42ab90bc2a_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i232b6e463c8d434cba584c07c4554aa8_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="ie455873cb5c04bdc8f6cbd703c6be33c_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="ib6dfa4d5cdcf464da0525e002214697b_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i2659a54b4fad47a2b08860b44ed79e0f_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i0299ab8e60ef4703aa6d269b0d886dba_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i1f6671c9727d44aaa43869d65a0c9a6f_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="iae78c0662c4746818144d75d9b62c94e_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ia2068dd0e31a452ba8219dd41a5c275b_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="icc52a666ec274beeb40d36478e21f7a6_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i313405cd22954aaeaaa4775215100c7a_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="if36c4a5d863f463e9e380de1c5213cfe_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ie926d331ebf347868b4520b404a4d484_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i214da56e59d54d5db5a1a4d2402c02ec_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i2a28a1cfd8264a0298abb942f564f041_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i420e9738fbfe4115ba930124445b536f_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i2e7f379843c7427bb912a2c2147e9f42_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i7029efa6f3584f8b995edc323999c16d_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ia115a450ad0e49caa6acf64fc20d0f44_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ia7d98230cbdd4d9fa9953a47d50128b6_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i13553d0efb024b629b19d1494f750b48_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ie4b0033edde24d34a7b567c5c3ab4054_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ie49806ef23364049989c095f9bee8988_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i1c4ee8b1f83847cdac77c9676ef21218_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="if4776d732cf942bc99328997244c8ba4_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i90f2568b27b44bd18b99fc5b7ad06264_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i07e8ad5317d0446994720d8beadd7fb3_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i66f03e6d108444b1a2ef19633c30b90b_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i0d94f6645b6f46be990cde3c0f639005_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i999f973d9227443d91eedf153aa03cb8_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i83f81e89e4e240d4b9a3dc1a8efe9858_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i2de073911349490aaf31e5499f856256_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i95140420ff524518aa2610c918a699f3_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i42817f24acab4ca8910bb503dcb0a8fa_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i042997aaa2754477a0278b8f02e10a80_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i739fd54842834ebba16d3e1c070394d7_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ie3da1826779f480aab537d9118f5824f_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="iefa0b3f284e949ed9443ad3d037ea2f2_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i50bba880ac0e4244b288db10398185cd_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ib670d43a601a4b8192914415248ea0d6_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i2fb4395df17b47379904bdec2851bd0f_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i6c171d91026743f4937e07b6cb97729a_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i0ccf8ea5083844ba88f8d72b7f2df71f_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i466b23712cc8403ab7f2519736d8d125_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="iafc0c4cc290c4bb984d57252044d3462_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic2af379ea1114bd7aad31d0eb5040cf5_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i88ea2f9d5b9f4f8fa262797308c4c0eb_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i04ef41746d76456ab4d1293623cb964c_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic84db226f1ec42e99e49ec68b2a79613_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="if5f7fcec229b48d19409a38d1d8c4921_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ied384facea7148d1997ddcae576dcc61_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i199d8fb7e061492fab63844420451445_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i26f5d41775f34c16be33ad0e8bbaf06c_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ifa92b5bf7287494aa8b9aca71d178a30_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ifc2bdc04e3b04b0b84224b01efbb61a5_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i7fd044a34687493d90524d25abc33e1c_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i07df771895a340428470496ea6d0e050_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i37fcf93183be4d6da99ee0dd86e50743_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i11e550976d6d4537956b7ab8decac18e_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i44e32abc8eb34ba1aaa936757b78fe09_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i93cc7bcd3d3744b8923b060e8412aea2_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i349ebb06cb1e4c6b8cc6fa48b0f6b3e8_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i96c320a67b464ab3ba8962e744e7b4cb_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i4a2e415642a644ffa2f925c9f34011ed_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i4c3ab1c7808a4337b73ae1a8a6d68a7a_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">nx:OneCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ib9a5eebf16154cb78e7d608eb6a91c92_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i6264e6adb001417b96a535d14491dc8c_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ib17d4954224e4112b47a49fb3656d411_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i8fc6ddd8eda9476284d8710e61abe2ff_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i186a028a03634d6f9f5dcb57272894f9_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i5e593eeb08ec46b9952bd654617ea797_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i687fe554c1bf4bdf99b319ad1b0632eb_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i5ca27dfdc9ca458693c959191a1c08cc_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i9483834716b14e89afdff924938e27f7_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i0a836e4ffcc44449b17e6276eab9e081_D20200831-20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-08-31</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="i5d6a3c55152b46bfb9fa10ac2e8c490e_D20200831-20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-31</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="i6fb234ef97f241fb9125ef6734bb27ea_D20200831-20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-31</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="ie297756702cf4220aca300376e558663_D20200831-20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-31</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="i7b18e5e5ac63406d820e24b68d05a16c_I20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-31</instant>
        </period>
    </context>
    <context id="i15a3cfc47ef341819bd1008eafa09a17_I20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-31</instant>
        </period>
    </context>
    <context id="i01709eba3e40483ebbbf0231449c3dca_I20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2020-08-31</instant>
        </period>
    </context>
    <context id="if04bb45b6f68427ea40a69ac7ab40b67_I20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-31</instant>
        </period>
    </context>
    <context id="i953baa37399e48c58031e1ca3c9ecdb1_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i943db4cc52a2469db4f7fad6b867b481_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i038c2fc20bd14964992b8f6c1a7df82b_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i80437623bde34f0297f9909072485eb0_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i77fd439e06ae4692a9866b69dc38e46d_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">nx:NoSingleTransactionOrSeriesOfRelatedTransactionsExceeded120000Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ife3be779e1f74741be5434652c68ccf3_I20181031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2018-10-31</instant>
        </period>
    </context>
    <context id="i9f287de71ad34f799b0d80b17cf96cfb_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">nx:RealEstateRelatedLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i954e6547cb214182b6111f6b3e104883_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">nx:RealEstateRelatedLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i0ab53782b0094c3a8a4842caa77b997c_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">nx:EquipmentAndVehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i8373f0b259d64483870dc99c3bb892df_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">nx:EquipmentAndVehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i05d03c9329874ef1a4edfc460c2548e8_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5106b3b5479544468bc5ecb2140a4c1e_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsUnitOneMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ib030e76b565842f2b705272e40166cc3_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsUnitTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="id6736ad7f22b4a73996b04b502d00bf2_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i4d0c8aeb241c45d18643b01071b328e7_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsUnitOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i405dc6eee45b4daf8372315511e208b4_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsUnitTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iacf0c35a48814578b3dd04440728cdb1_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iaabc3bdec5234e7f8724e94626a44564_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:WoodcraftMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i976b66172001413485721c42658d48d7_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i84db723b60824cf0b1a65b874cc64603_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i43c67c34a6e440ab87b411e4a0fb1622_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i89e25e1085d6487983b963119d45e16e_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic6c2a48453c74f58a676176efdd7de93_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i0dc24d2aaf514841b1bec2c126514756_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ida5cc77dff384314aa4224e5534e2c94_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ie5f467067a2d4588b8ba2a8295ad584c_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5d6d7753575c4ae6bb56c6487074b4b3_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i1f8b8e57293341caab09110ef04af74d_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i1e2811f2c9024f6d817e5f9202bd002f_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="id44040b5594d4426a9fada6da725277a_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CapitalLeaseObligationsAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i7105ec77239b460a9264f0033e79f46e_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CapitalLeaseObligationsAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ie40c8b0e74e74f2bbe6c8d1c35068a9a_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i5d16e418a4754d539431bea42cdc3c33_I20220706">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-06</instant>
        </period>
    </context>
    <context id="ibc715cbdda2a48bfaeac6c5f659116b8_D20220706-20220706">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-06</startDate>
            <endDate>2022-07-06</endDate>
        </period>
    </context>
    <context id="i078a5447ba824c27af92156105706cad_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i53c81ecb1f9e472881f01e52d0c4a724_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="icd772cdfdc114782accab55df717fbe9_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i253b101a408849bda7d8a197ba179c5c_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i87e32a3478fc44b588ca135567a0ba66_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i75ec78ea2ca34292b0c476a5f103c789_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i4a84470bad564856a422350ca4fb8ef6_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i422bdd4a31c849eb8aa801a9cb92a807_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i394776a93c594267a4cebde18f73ff13_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ib48b0ddd54bf42809539e38dd0f8f4a5_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i84e3ed4a7846417d8d02631c78d0b596_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic05ec84e48ad460bbd35b81027ecc18b_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic1020ce1a0e6473f9b76b9e9f675b963_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i638c1611c75849c9b8f927a828fc908d_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:A2018CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5aa617e429ad46b78b9ab4fbbd07fc1d_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:SwingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i00c19344caa54e809efcd69288668c7c_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:TermLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ic5e4270416784f31b02e546640c1ab7f_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:EquityFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i97a283050ac5457fbfd13939e6d3ede4_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:EquityFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i861b84b8b3a743ba9626860007d402d7_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i976abb3aec3544a4a159f665253cf935_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:FixedIncomeFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="iae75f847b7674213b1e1f5f2c40f014e_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5f2e8801dd9e4fdea7b6e0b480b3127f_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i10b451fbdaed4c50b33a315837d2d2e2_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:LargeCapitalizationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i50208268c33a427298f2557fbe26f4bd_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:LargeCapitalizationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i7b1a4b381e7c4194a7386c7f062aa745_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:SmallcapitilizationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5c28dc8c6ca14d068169d9716f1bf758_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:SmallcapitilizationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="iae52212fb741429aa38a19b338e26ce9_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:InternationalEquityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i8bd642963b6843a6b876b16c9c0b47f0_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:InternationalEquityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i3cf2de514ed348ff95f6db53b37df226_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:OtherAssetCategoryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="if949857ee5614226847cd67a8c0f69d6_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:OtherAssetCategoryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i16253bb2228c4d88910e3c6155e2b83e_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:HighqualitycorebondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i268e6123f5ba482a84ebc4e7d1cffc21_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:HighqualitycorebondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="iec26ff5de7734841839b0e51b897cd6a_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iaea076a8ff364a489bfe2a85d7a298bf_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i0b61ffe45f624a5692c1f5379b572a3d_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:HighyieldbondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ib68a560464844a82a59ef00bdd4347ad_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis">nx:HighyieldbondMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i68e664e3cdf349bebca6c368bbbde7a9_D20210101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i1f4a4e3e31f4410496d279c820cd31a9_D20210101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ie2eb5aa4bb0f4bd6936d1a2c65affed3_D20180101-20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2020-01-01</endDate>
        </period>
    </context>
    <context id="i4853db87196f44c3ba65d7c1e737c5e3_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i25cccd5375ef403c8bef1d00ff27e6ad_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i09073f4ec3404feeba6c34d70dcb54ad_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i453a1f8a8d2443308649f8c2e15ff5e6_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i7c0f953043d74a3693a0c7f362015cfd_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="iff6f2de0d17140a49d7e790c2bf660e1_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i18de6994a0d145f199204cd3d43c5d69_D20181101-20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i7dabf9c115ee4930a2068a35a9e1e73e_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i6c38e8b7f6b54dad87f595ca8cdfd039_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i159dcb09df9e428c957b42f46378165f_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i4b89793cad204be99d461d1e127ec12b_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i647bb78102fa4c7489082f169135db32_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ie4684933636d4b548fea30711b8db3e5_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic1996579136f43f381853a2ada9f4130_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i948f1f05e6ae4cabbfa21c470c23dd48_D20191205-20191205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-05</startDate>
            <endDate>2019-12-05</endDate>
        </period>
    </context>
    <context id="i35b1f9b9473245faa9a0f467a82ff279_D20191205-20191205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2019-12-05</startDate>
            <endDate>2019-12-05</endDate>
        </period>
    </context>
    <context id="i9e6524960bb1461da8394b94b26b8335_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="i93065bc54e3e4f83ac56346eaaa6bcb4_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="ibc8e79f288064cbf8ad43ed9e4833c7b_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="iecc1d1632e574021885a6eb5aad3515e_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="i14829ad01d044a4e8fb4812d6236445d_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i655b627c1bb84b18b8af5802dd9c51ed_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="if444e62f8b5d4b3ebfe1972b095ceee4_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i4f08c573c0e646818f91455284bad923_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic5f8944be7a14e2eb59ac74cc0f4befe_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i73f6e6bbb3b6444ea34e5c17d47a2a31_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i205b975410384f3b93cd81b15933548a_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">nx:ShareBasedCompensationAwardTrancheFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ib9d90aa2d43a4659a7dfee4676e02015_D20191205-20191205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-05</startDate>
            <endDate>2019-12-05</endDate>
        </period>
    </context>
    <context id="iea3f5544b2ae46c0a214e04d2de28035_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="i0b34edd2de9340ea997d1632527cfe13_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="i728cca8d23e04e3581942d6db8385b09_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ibc63efed2e744121bc68fbe5434d79ba_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i58c7d0d68c7f4094b66d76e89566dd32_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i7e5a9f7070f443bd9bc93086a53dad84_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i7cafded9cc4c4581a6c3ef9fe0999e57_I20180830">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2018-08-30</instant>
        </period>
    </context>
    <context id="id312e7408a824b7da16ed9ff5339e171_I20211210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-12-10</instant>
        </period>
    </context>
    <context id="id7a67d01f1b74492b1de75c34252da53_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i970d411c36134d14aa2df716489ac066_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ib8b63f1f03c94c9693b1d503247f67dd_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ice5d578412af42a09817168049e788e0_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i11b8d96e13c94fe99c20f55b40b80465_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i5fbca8cbafca41d49c89cb1fd4d732bb_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i9e85100c2c6c4be58fa00b64c7d1cbac_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="iae691f0d435649db960a5e63a43d9801_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i1e81a2db8ba24122a259cff57f0052bf_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i8d8d6323b9a5434e83a28591edbcd56f_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="idd7575af67504935ab35814c6132ca6b_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="ibb050e6428fc4e109ada7f5fecabb6d6_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="iff0052bfdb35428cbe97455fd0f8ef61_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i375283bf23774003b2f56a904c5408e0_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i36c4da6f86424fbf98a192e6ad99daa5_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i422fadfd5d9b46769a8aa312d0fe7e1b_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i784f85a867414259a6a8a3d690610b15_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i0cac8a7300fa4806a8e4c1051116404b_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="id837b5110dc24f63a7f48b7adf05ef6b_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ic8de60d82cc54717b97ba10dc16f3f6c_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="if23593f6d7ba4f6d97cd6cb838a9d16f_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="iee363b335d724f34b05f8954f9c4d662_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="id51445a610274fc6be33bc40ace70306_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i5e4f412f48bb40dba127421176fd17ba_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ie9a223acfb0e45b29ecbf5657e0a1d68_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="if18c113fcc2440a99b5598c42bc96de8_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i2e33e6ccd33c4d8e9f33ad4111a59376_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:OtherForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i05df86b9ed5545ee8597a69111667866_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:OtherForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ic803bf084f9945e3993348e905192bdb_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:OtherForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="iab8dc0dc2ceb4e8abd0d5ec898fbe4dd_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i005316ed9a6b4770bd19c78c22db5183_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i8f00279fdf1d40d385481784dfc955fb_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="if44b2bb1afe64c7cb7b103ee8004ed32_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i2092250fb82f41eab57a192f564dad87_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i64633b71d0f54b57978bb2dce611a718_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i592550d91f014c73a7ba5a9b3ff35ce3_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="iab5f960debe8496b88914c17f98c074e_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="iefbd330d4ba8487e8cb8ab0b35c2f590_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i57c264984f6a40d1bff63c4e4e6330e4_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i815d6e272f7a41d18d0f7523fa5f8675_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ib6d716f325964a13b436e35ab2845bc5_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i525311e6d3224993a804c82a2be1a612_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i6f9750ed3b394d5db4284357e17f1e00_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i4794492876e644c8bd2bf3d5d0a3624e_D20191101-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ifbc9e95ded7e4054827a39eaabcc54ab_D20221101-20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2022-11-01</endDate>
        </period>
    </context>
    <context id="ib7553aeb759b44799addb1489ad0c45f_I20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-01</instant>
        </period>
    </context>
    <context id="i0279af9facc3457ea64801a1afae66de_I20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-01</instant>
        </period>
    </context>
    <context id="i079dfd269e1f4fe1ac86fabc3bd577e1_I20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:OH</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-01</instant>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="segment">
        <measure>nx:segment</measure>
    </unit>
    <unit id="customer">
        <measure>nx:customer</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="reporting_unit">
        <measure>nx:reporting_unit</measure>
    </unit>
    <unit id="unit">
        <measure>nx:unit</measure>
    </unit>
    <unit id="plan">
        <measure>nx:plan</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl80L2ZyYWc6NGQ2ZDU0NTViZjY2NDEzZjk5ODQyNTA1NjY0NGU2MWQvdGFibGU6N2ExYjlmOTBkY2IzNDUxYmE0NzkxZGNkNzVmZmVlMjgvdGFibGVyYW5nZTo3YTFiOWY5MGRjYjM0NTFiYTQ3OTFkY2Q3NWZmZWUyOF8zLTEtMS0xLTM5MTU3_47357d60-2f75-452f-a797-8e6edf28e393">0001423221</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl80L2ZyYWc6NGQ2ZDU0NTViZjY2NDEzZjk5ODQyNTA1NjY0NGU2MWQvdGFibGU6N2ExYjlmOTBkY2IzNDUxYmE0NzkxZGNkNzVmZmVlMjgvdGFibGVyYW5nZTo3YTFiOWY5MGRjYjM0NTFiYTQ3OTFkY2Q3NWZmZWUyOF85LTEtMS0xLTM5MTU3_ae87986a-0199-420f-9acf-accd2b3ad63a">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl80L2ZyYWc6NGQ2ZDU0NTViZjY2NDEzZjk5ODQyNTA1NjY0NGU2MWQvdGFibGU6N2ExYjlmOTBkY2IzNDUxYmE0NzkxZGNkNzVmZmVlMjgvdGFibGVyYW5nZTo3YTFiOWY5MGRjYjM0NTFiYTQ3OTFkY2Q3NWZmZWUyOF8xMC0xLTEtMS0zOTE1Nw_0321dd10-e9b1-4424-9b8c-2b5a98c3f4f0">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl80L2ZyYWc6NGQ2ZDU0NTViZjY2NDEzZjk5ODQyNTA1NjY0NGU2MWQvdGFibGU6N2ExYjlmOTBkY2IzNDUxYmE0NzkxZGNkNzVmZmVlMjgvdGFibGVyYW5nZTo3YTFiOWY5MGRjYjM0NTFiYTQ3OTFkY2Q3NWZmZWUyOF8xMS0xLTEtMS0zOTE1Nw_0c85fc6e-6ead-4e0a-b423-b46fc912203a">false</dei:AmendmentFlag>
    <nx:LesseeLeaseTermOfContract
      contextRef="i9f287de71ad34f799b0d80b17cf96cfb_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzkwMg_d4f63fe7-fdf9-44a7-8c13-79d91b10c6e8">P5Y</nx:LesseeLeaseTermOfContract>
    <nx:LesseeLeaseTermOfContract
      contextRef="i0ab53782b0094c3a8a4842caa77b997c_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzEwMjg_9cdee8ff-905c-4b72-aeb7-7068e99bd4f8">P1Y</nx:LesseeLeaseTermOfContract>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMC0xLTEtMzkxNTc_14dcb2f5-0d5b-4166-9256-c790d46abcb4">http://fasb.org/us-gaap/2021-01-31#PropertyPlantAndEquipmentNet</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMC0xLTEtMzkxNTc_5d0da5c9-381b-449f-83d7-94aef11eebc6">http://fasb.org/us-gaap/2021-01-31#PropertyPlantAndEquipmentNet</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTItMS0xLTM5MTU3_05850008-741d-411f-b0ef-0ee2f585414a">http://fasb.org/us-gaap/2021-01-31#LongTermDebtAndCapitalLeaseObligationsCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTItMS0xLTM5MTU3_c0037cd6-024a-42ea-8c51-f2833a3f0561">http://fasb.org/us-gaap/2021-01-31#LongTermDebtAndCapitalLeaseObligationsCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTItMS0xLTM5MTU3_20caa41c-9f5c-432e-8dff-5d0f4a0de917">http://fasb.org/us-gaap/2021-01-31#LongTermDebtAndCapitalLeaseObligations</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTItMS0xLTM5MTU3_81a735f2-f6a2-4e04-9f62-8fd4bb28162f">http://fasb.org/us-gaap/2021-01-31#LongTermDebtAndCapitalLeaseObligations</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:DebtInstrumentTerm
      contextRef="ibc715cbdda2a48bfaeac6c5f659116b8_D20220706-20220706"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzEwODE2_7f95b443-0abf-4c76-b21e-0a374cfa4ce5">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzQtMC0xLTEtMzkxNTc_aaae8ae0-3363-49b1-a748-8b8bc43cc840">http://fasb.org/us-gaap/2021-01-31#OtherNonoperatingIncomeExpense</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExpectedReturnLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzYtMC0xLTEtMzkxNTc_0a99f31f-2e81-4310-9840-491f4b3b23a8">http://fasb.org/us-gaap/2021-01-31#OtherNonoperatingIncomeExpense</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditExcludingServiceCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditCurtailmentGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzQtMC0xLTEtMzkxNTc_6872cd53-3594-4d49-8d1d-34171c946801">http://fasb.org/us-gaap/2021-01-31#OtherNonoperatingIncomeExpense</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditCurtailmentGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <dei:DocumentType
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8xMTg_5354aa64-6161-462b-b24a-8d6910239e6a">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6NjdmMWEzZTc1YzRhNGE5ZmIwY2M0ZmY0OTdmMTg2MzQvdGFibGVyYW5nZTo2N2YxYTNlNzVjNGE0YTlmYjBjYzRmZjQ5N2YxODYzNF8wLTAtMS0xLTM5MTU3_309eee4a-20dc-41c0-a693-5b5b6f7dac6f">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8xNjA_264a47fd-25ba-4473-b904-298dcea0960a">2022-10-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8xNjA_04cbe44e-93d5-490e-a847-2196dd490b62">--10-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6NTA1ODJhZGIwMTY4NDExOWE2ZDFiOGY4NDFmNzMwZTIvdGFibGVyYW5nZTo1MDU4MmFkYjAxNjg0MTE5YTZkMWI4Zjg0MWY3MzBlMl8wLTAtMS0xLTM5MTU3_dc6930d7-00de-4cce-baa2-70376a041b2d">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8xOTI_67f0b36f-4fbd-4e7f-839f-fe6e82191ea1">1-33913</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8yMjk_792c8f94-35ba-4ed2-84d3-c3d61b18e463">QUANEX BUILDING PRODUCTS CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6ZGI2NjllZjk2M2UxNGE3Yjg0NDVmZTQxMTk3NDhmN2UvdGFibGVyYW5nZTpkYjY2OWVmOTYzZTE0YTdiODQ0NWZlNDExOTc0OGY3ZV8wLTAtMS0xLTM5MTU3_0b9a57bf-e7de-4311-b1aa-d9f5370d55fe">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6ZGI2NjllZjk2M2UxNGE3Yjg0NDVmZTQxMTk3NDhmN2UvdGFibGVyYW5nZTpkYjY2OWVmOTYzZTE0YTdiODQ0NWZlNDExOTc0OGY3ZV8wLTItMS0xLTM5MTU3_28bcc1b9-daa4-4d68-88af-6769919a296e">26-1561397</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8yODk_6b57f2ca-e339-410b-9700-19e6dddf7844">1800 West Loop South</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8yOTM_10a021f3-61ea-47ee-8179-645254c95135">Suite 1500</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8yOTc_22a1d50e-cb7f-420d-a81a-045bca29ade9">Houston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8zMDE_74e86498-f1f2-4163-8c2a-afd38a505d5c">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8zMDU_33374a61-ed13-4f93-a994-0ba472ee1425">77027</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV80MTY_697fadb8-d8ea-4639-82bd-32671405b516">713</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV80MjA_f6c41a19-da5b-4b6f-880a-e3c8ef83f2d6">961-4600</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6NmM4ODQyOTYwMmRhNDY2MjgyOGZhZjI1ODQ3NTZhODQvdGFibGVyYW5nZTo2Yzg4NDI5NjAyZGE0NjYyODI4ZmFmMjU4NDc1NmE4NF8xLTAtMS0xLTM5MTU3_3ce42061-40c4-4bac-ab79-e69100f1eaf1">Common Stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6NmM4ODQyOTYwMmRhNDY2MjgyOGZhZjI1ODQ3NTZhODQvdGFibGVyYW5nZTo2Yzg4NDI5NjAyZGE0NjYyODI4ZmFmMjU4NDc1NmE4NF8xLTEtMS0xLTM5MTU3_13c28918-2f72-4a05-a151-33a806dd87f7">NX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6NmM4ODQyOTYwMmRhNDY2MjgyOGZhZjI1ODQ3NTZhODQvdGFibGVyYW5nZTo2Yzg4NDI5NjAyZGE0NjYyODI4ZmFmMjU4NDc1NmE4NF8xLTItMS0xLTM5MTU3_4fc7c2ae-f404-4ceb-a675-f0bc1b3bb71a">NYSE</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV83Mzg_9cdd477b-2e70-41c1-8a5f-8da03985c14e">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV84OTE_d4b519f2-6dea-4226-9688-d46468bbcdfa">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8xMjQ2_82ab7caf-ea65-4c06-a0ce-a5806ab88907">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8xNTQ0_be4de1aa-a78d-4747-a70d-33407145658a">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6MjRiYmE3N2E4ODQ1NDc5NDlhMjBiZjRhYjBiODc4MGEvdGFibGVyYW5nZToyNGJiYTc3YTg4NDU0Nzk0OWEyMGJmNGFiMGI4NzgwYV8wLTAtMS0xLTM5MTU3_fef1955e-d267-4f5b-8f94-c5cd9ca29014">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6MjRiYmE3N2E4ODQ1NDc5NDlhMjBiZjRhYjBiODc4MGEvdGFibGVyYW5nZToyNGJiYTc3YTg4NDU0Nzk0OWEyMGJmNGFiMGI4NzgwYV8xLTQtMS0xLTM5MTU3_1b9a36b2-d45d-429c-8ded-d47e34b66c18">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGFibGU6MjRiYmE3N2E4ODQ1NDc5NDlhMjBiZjRhYjBiODc4MGEvdGFibGVyYW5nZToyNGJiYTc3YTg4NDU0Nzk0OWEyMGJmNGFiMGI4NzgwYV8yLTQtMS0xLTM5MTU3_d9ae54cb-6aa8-4ca4-8ff8-9fc96aeb6d5d">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8yMDI5_480b6eac-1bc1-4718-890a-dbf2f6ad0c1b">false</dei:EntityShellCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8zMTQ1_0b6c4ac0-415d-4c4e-94cd-84b89abc22bc">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityPublicFloat
      contextRef="i0b68ddfcd9d24205bee429a4eadc79f7_I20220430"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV82MDQ3MzEzOTU1OTgw_7f16e8ae-97c3-4180-8be6-839ae9416c5b"
      unitRef="usd">630566743</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i402c15dcafd444cd9d8602d168f3de39_I20221208"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV82MDQ3MzEzOTU1OTk0_bbf79d9e-c491-4769-807c-66af8eeee492"
      unitRef="shares">33130250</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xL2ZyYWc6YjM4YmFhZmUwNjY4NDVjNGIyYjI5NjEwNjMzM2MyNjUvdGV4dHJlZ2lvbjpiMzhiYWFmZTA2Njg0NWM0YjJiMjk2MTA2MzMzYzI2NV8zMTQ3_fdaefaa3-7191-4c22-9324-2c231019533f">Portions of the Registrant&#x2019;s definitive Proxy Statement for its 2023 Annual Meeting of Stockholders to be filed with the Commission within 120&#160;days of October&#160;31, 2022 are incorporated herein by reference in Part&#160;III of this Annual Report on Form 10-K.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl82MS9mcmFnOjI0ZDhhYmYxZGI2OTQ5NWFiZmJiMTU1ZjczYWE0YWIzL3RhYmxlOjY2NTA1YzM0NWQzMzQ0NWZiZTQ3MzFmNzc0M2Q1YzdkL3RhYmxlcmFuZ2U6NjY1MDVjMzQ1ZDMzNDQ1ZmJlNDczMWY3NzQzZDVjN2RfMS0wLTEtMS00ODkyMi90ZXh0cmVnaW9uOjNlZDQxZTU1NDAyZjQwOTc5OGIxMDE3NzQ4ODIxMmYwXzU0OTc1NTgxMzk5OQ_82d1cf20-38af-4842-8c14-73ebf14c99f2">248</dei:AuditorFirmId>
    <dei:AuditorLocation
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl82Ny9mcmFnOjBhMjJjNjI3MmQ2MzRkNjNiYzU3MjgyNjE1NzkwMTNiL3RhYmxlOjYyOTJmMzBkODYwZjQ0MWFhYThkZDUzZjdiOTY2NjkzL3RhYmxlcmFuZ2U6NjI5MmYzMGQ4NjBmNDQxYWFhOGRkNTNmN2I5NjY2OTNfMi0wLTEtMS00ODg5NA_0c41fadd-25ff-4339-a603-f3153c545112">Houston, Texas</dei:AuditorLocation>
    <dei:AuditorName
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83MC9mcmFnOmU5N2RjOGI2NzIxNTQ4ODI5N2FlZThiZjQ5ZGIzNTE0L3RleHRyZWdpb246ZTk3ZGM4YjY3MjE1NDg4Mjk3YWVlOGJmNDlkYjM1MTRfNjA0NzMxMzk1NDcyMw_3e15fe50-b3d4-4d6c-beb1-d9cd8a214058">Grant Thornton LLP</dei:AuditorName>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNS0xLTEtMS0zOTE1Nw_bf4bd2f7-48dd-48ec-bb86-09e4c82c0566"
      unitRef="usd">55093000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNS0zLTEtMS0zOTE1Nw_7b9beda4-0eff-4d1c-b016-f9422a031810"
      unitRef="usd">40061000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNi0wLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmFiYzg2NDlhZjNhZTRlYTFhOTk0NTZkYWEyZGI3MjA0XzYz_0ebe4e7d-44dd-4fba-98be-dc5adf218c43"
      unitRef="usd">289000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNi0wLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmFiYzg2NDlhZjNhZTRlYTFhOTk0NTZkYWEyZGI3MjA0Xzcw_b0c74070-11eb-4822-b1ae-14bf0d12495f"
      unitRef="usd">340000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNi0xLTEtMS0zOTE1Nw_b46f6217-08b2-4d42-872d-6573b471993b"
      unitRef="usd">96018000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNi0zLTEtMS0zOTE1Nw_c17d9794-122c-411e-b953-f90e010abc1a"
      unitRef="usd">108309000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNy0xLTEtMS0zOTE1Nw_9f194d68-f938-4376-9bdf-0a248209f63c"
      unitRef="usd">120890000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNy0zLTEtMS0zOTE1Nw_a418d680-fc21-430a-a8e2-1c31fc756eed"
      unitRef="usd">92529000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfOS0xLTEtMS0zOTE1Nw_3ca09de1-d8c8-487c-9975-3e51ad1e6032"
      unitRef="usd">8664000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfOS0zLTEtMS0zOTE1Nw_f8cf022f-513a-485e-9bdb-e8a34c24507a"
      unitRef="usd">8148000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTAtMS0xLTEtMzkxNTc_6832c94b-3307-4437-ae48-4f3e93b5cafb"
      unitRef="usd">280665000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTAtMy0xLTEtMzkxNTc_ab941af9-efc7-434f-96f7-e5675aaf7bba"
      unitRef="usd">249047000</us-gaap:AssetsCurrent>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTEtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo4ZjJhODM5NWYxNTc0Y2FlOGZjYzM4OWJiY2MwMTcyMF83MA_ed932d37-2aa3-4924-8a47-f60ef6e7bda1"
      unitRef="usd">348528000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTEtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo4ZjJhODM5NWYxNTc0Y2FlOGZjYzM4OWJiY2MwMTcyMF83Nw_f9f53559-75e3-4aa4-8bdd-ba0ef3ff2307"
      unitRef="usd">336493000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTEtMS0xLTEtMzkxNTc_57f51d79-80ae-453c-8e89-cbefa19d9183"
      unitRef="usd">180400000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTEtMy0xLTEtMzkxNTc_3fda7f5c-fd43-4ccb-821b-248e5074056e"
      unitRef="usd">178630000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTItMS0xLTEtMzkxNTc_270102b3-ca70-4202-affe-721a7e60b7dc"
      unitRef="usd">56000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTItMy0xLTEtMzkxNTc_dee4acbf-ebd2-4b0b-b285-61351ffd2ea2"
      unitRef="usd">52708000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTMtMS0xLTEtMzkxNTc_b75fb9bf-c3ae-4ff8-a5a1-5952aa340124"
      unitRef="usd">137855000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTMtMy0xLTEtMzkxNTc_f3862c51-2cba-4ea3-bb4f-e6b9246ff9d8"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTQtMS0xLTEtMzkxNTc_0eb41867-e5fc-4b7b-b1f0-a15b6a2d158a"
      unitRef="usd">65035000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTQtMy0xLTEtMzkxNTc_3098cae4-153f-42d7-9d12-1912442563e5"
      unitRef="usd">82410000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTUtMS0xLTEtMzkxNTc_245ba030-503c-4dca-bb28-7e08e7260fef"
      unitRef="usd">4662000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTUtMy0xLTEtMzkxNTc_c7dbbdfb-a9a1-4821-8de1-32607abf572b"
      unitRef="usd">5323000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTYtMS0xLTEtMzkxNTc_9d6d6449-6a7c-47d4-a33f-29e4d7058295"
      unitRef="usd">724617000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTYtMy0xLTEtMzkxNTc_620992ff-c172-4287-85bc-f887eddf03e2"
      unitRef="usd">717323000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTktMS0xLTEtMzkxNTc_228c68fe-45b0-48f6-ab4e-38dfa0a0f559"
      unitRef="usd">77907000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMTktMy0xLTEtMzkxNTc_51f67303-0cab-415b-b79c-60f249b23556"
      unitRef="usd">86765000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjAtMS0xLTEtMzkxNTc_2631d74f-583a-4726-9127-5ec058c2497e"
      unitRef="usd">52114000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjAtMy0xLTEtMzkxNTc_d95cc5a6-fa89-443f-9c47-60e24688e057"
      unitRef="usd">56156000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjEtMS0xLTEtMzkxNTc_f5904f4f-c3d1-48a6-a30b-039bb985a300"
      unitRef="usd">1049000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjEtMy0xLTEtMzkxNTc_4bb2547f-4ebf-414a-88c2-bf2c5391c081"
      unitRef="usd">6038000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjItMS0xLTEtMzkxNTc_905ecbba-0c36-4125-8043-bf27902ce29b"
      unitRef="usd">1046000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjItMy0xLTEtMzkxNTc_5d9bb65f-d0bd-489c-b8a9-fde28ebcf331"
      unitRef="usd">846000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjMtMS0xLTEtMzkxNTc_5941f791-edf3-4fdd-9722-06e3e0e0817e"
      unitRef="usd">7727000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjMtMy0xLTEtMzkxNTc_1d33394d-fb9b-4cab-9dbf-009d9fb0e760"
      unitRef="usd">8196000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjQtMS0xLTEtMzkxNTc_9153a2f8-ccff-4b90-90b4-f3ff803a87fe"
      unitRef="usd">139843000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjQtMy0xLTEtMzkxNTc_6d2fa630-3ddc-4930-ad31-804db8135743"
      unitRef="usd">158001000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjUtMS0xLTEtMzkxNTc_88f32cb6-3247-4ae6-ab6d-e7ddb26a36e9"
      unitRef="usd">29628000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjUtMy0xLTEtMzkxNTc_2d3200c7-fee5-47a3-9c00-ce7d34d5bde9"
      unitRef="usd">52094000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjYtMS0xLTEtMzkxNTc_f8f84ed7-a05a-440d-907a-02ab52a564d5"
      unitRef="usd">49286000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjYtMy0xLTEtMzkxNTc_9524b3b4-1675-49ed-95cb-cb3c6dd139b4"
      unitRef="usd">45367000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjctMS0xLTEtMzkxNTc_ef922aaf-f6ff-433e-aa97-4c98f3aa49be"
      unitRef="usd">3917000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjctMy0xLTEtMzkxNTc_36530a0c-763c-42a7-81e2-5d6d46586de1"
      unitRef="usd">4737000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjgtMS0xLTEtMzkxNTc_aaa39e50-d5d4-45e3-b490-adfa357e3fce"
      unitRef="usd">22277000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjgtMy0xLTEtMzkxNTc_259e3e61-9779-431a-b5ad-9f879c48d820"
      unitRef="usd">21965000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjktMS0xLTEtMzkxNTc_87c2e279-84fa-4e33-bb0e-58602d7dda5a"
      unitRef="usd">1361000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMjktMy0xLTEtMzkxNTc_a438b258-dd3a-4c31-b4ba-40850e8158a8"
      unitRef="usd">1388000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzAtMS0xLTEtMzkxNTc_75cc2d40-f5b6-4337-a920-dc0dc0e9e551"
      unitRef="usd">13470000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzAtMy0xLTEtMzkxNTc_ab01e590-761f-4a8b-938c-0b29b9fef30e"
      unitRef="usd">13989000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzEtMS0xLTEtMzkxNTc_0fe086e5-e372-465f-8b8e-b13bf7a35521"
      unitRef="usd">259782000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzEtMy0xLTEtMzkxNTc_c240f8a0-b9d3-4850-a5e7-944e2cafb6b4"
      unitRef="usd">297541000</us-gaap:Liabilities>
    <us-gaap:PreferredStockNoParValue
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV8yMQ_04f33260-63f0-4bac-8984-7e0af69c1712"
      unitRef="usdPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockNoParValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV8yMQ_dba45f04-40b1-45f2-bd98-edb75ee6a8e1"
      unitRef="usdPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV81Mw_0d472696-6ed5-4e58-bf09-150d255e42c3"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV81Mw_9957a732-fd13-4c12-8cc7-c652e1cf6723"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV84MQ_1b17c157-692a-49ee-a7ac-cd607ee57724"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV84MQ_4452e46f-154a-4f63-ab3e-ef0ebd59a614"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV84MQ_7ef60b1d-fc48-4020-83e7-303ee8c885f8"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo5OGRlM2Q4Nzg4MTc0NzQzOWMxM2NlODRkZDc2YTI4YV84MQ_e19a6022-e7bd-4fb4-8aa8-317535debaf8"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMS0xLTEtMzkxNTc_32a1cd15-6ebd-400b-9acd-c14e0a875425"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzQtMy0xLTEtMzkxNTc_2af328f9-9549-4e62-81a8-d0a17473952e"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF8xOA_31a3fa9f-0451-4f9d-96b7-bcbad1205e0d"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF8xOA_ad99dc31-46b3-466c-8e74-2598fd8bfb87"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF81MA_38c2d4b9-cd33-4d13-be90-375477256aea"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF81MA_edd797ad-dca8-4f01-8367-e27fcbb06f71"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF82MA_df36f188-3e90-47b8-8c57-662f6ba8c210"
      unitRef="shares">37211056</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF82Nw_ebf868e0-26bf-4ed1-83b9-91e13a936d30"
      unitRef="shares">37273510</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF85Ng_d44aa874-36c9-4621-a9af-5491264f1419"
      unitRef="shares">33129250</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo1MDhhOTIyZDJiN2Y0ZWQ3YjkwYThmZDZhMGNlNDVhNF8xMDM_2c260798-c9eb-4e12-ac9c-e2e85d0614dc"
      unitRef="shares">33274785</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMS0xLTEtMzkxNTc_35516b30-79d5-4153-8da2-5cd96f31f92b"
      unitRef="usd">372000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzUtMy0xLTEtMzkxNTc_d46f5230-05d4-461b-a288-f94cf07072f7"
      unitRef="usd">373000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzYtMS0xLTEtMzkxNTc_ab8c09a0-f693-4982-8e42-dec5c1cdc77f"
      unitRef="usd">251947000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzYtMy0xLTEtMzkxNTc_b58ff84b-0168-458c-b95d-4c5de82e53bc"
      unitRef="usd">254162000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzctMS0xLTEtMzkxNTc_9875dc04-22ef-4757-b496-6da910ff7158"
      unitRef="usd">337456000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzctMy0xLTEtMzkxNTc_dc163f1b-2896-462b-9070-32046e559a25"
      unitRef="usd">259718000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzgtMS0xLTEtMzkxNTc_4c924abc-396d-4d82-9f08-d7642a7a0132"
      unitRef="usd">-49422000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzgtMy0xLTEtMzkxNTc_7b290ddc-e4a4-4b3c-8567-cfbbc6ee76e6"
      unitRef="usd">-21770000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzktMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjpmNjk2ZTg3NWM2YWU0MDQ2OTBjZDk3MTQ3ZDFiYzBjMl8zNA_ba841da3-026c-4e11-bda4-908151e9e716"
      unitRef="shares">4081806</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzktMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjpmNjk2ZTg3NWM2YWU0MDQ2OTBjZDk3MTQ3ZDFiYzBjMl80MQ_62ff23ec-439f-4200-ae51-9a6c60c267e5"
      unitRef="shares">3998725</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzktMS0xLTEtMzkxNTc_7a98d3b7-66f2-43b4-8420-293c678186da"
      unitRef="usd">75518000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfMzktMy0xLTEtMzkxNTc_9e9f1297-2993-42b3-b4be-59e1447fe3ce"
      unitRef="usd">72701000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNDAtMS0xLTEtMzkxNTc_b789d3eb-7af7-4bb5-a333-06067b7f75aa"
      unitRef="usd">464835000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNDAtMy0xLTEtMzkxNTc_d0ef3d48-4d84-4509-ac9a-4ebc5033f2ba"
      unitRef="usd">419782000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNDEtMS0xLTEtMzkxNTc_d4e90afa-1f65-4f92-b49c-444e44b16f9a"
      unitRef="usd">724617000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83My9mcmFnOjU1MmVkYzM3MTk5ZDQ1NzViYjkwNWFkMDYwOTViNzI4L3RhYmxlOjcxZTk5ZDI1MzRlOTQ2MmFhMGFjMWRkZDU3ZTA3ZGVkL3RhYmxlcmFuZ2U6NzFlOTlkMjUzNGU5NDYyYWEwYWMxZGRkNTdlMDdkZWRfNDEtMy0xLTEtMzkxNTc_7f7b9a64-1c26-4cc3-ab05-6c9f7dededb3"
      unitRef="usd">717323000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMy0xLTEtMS0zOTE1Nw_50c90fdc-9e99-4927-b3de-13508b378852"
      unitRef="usd">1221502000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMy0zLTEtMS0zOTE1Nw_c2ce50b7-04da-4041-8fbc-cb4956863af5"
      unitRef="usd">1072149000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMy01LTEtMS0zOTE1Nw_0fc52618-6764-4d53-ac8a-577dece4b1ba"
      unitRef="usd">851573000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNS0xLTEtMS0zOTE1Nw_eb1a7685-11d3-4ea8-8dab-5410ac893a59"
      unitRef="usd">953004000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNS0zLTEtMS0zOTE1Nw_faeeaf8e-402c-45b7-ae79-008f19005577"
      unitRef="usd">831541000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNS01LTEtMS0zOTE1Nw_1dc062ae-3423-4642-a5fd-249e625ba8ee"
      unitRef="usd">658750000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNi0xLTEtMS0zOTE1Nw_4bb3000f-f3d2-4b47-83c4-3cb650c1ea03"
      unitRef="usd">117108000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNi0zLTEtMS0zOTE1Nw_160b19eb-54f4-46e8-abb1-431476225c93"
      unitRef="usd">115967000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNi01LTEtMS0zOTE1Nw_60a1f5e8-8452-43e8-93fe-ad7b03b40fd2"
      unitRef="usd">89707000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:RestructuringCharges
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNy0xLTEtMS0zOTE1Nw_ecba27c6-e7a1-442f-8833-b393c2a897e9"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNy0zLTEtMS0zOTE1Nw_e370265c-3168-4c4b-9d0b-2e2b5649af2b"
      unitRef="usd">39000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfNy01LTEtMS0zOTE1Nw_05d0069e-d7f4-4c09-a348-97d1e5795313"
      unitRef="usd">622000</us-gaap:RestructuringCharges>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfOC0xLTEtMS0zOTE1Nw_3b5cca60-5e09-47ac-8193-f2ec16f7acb8"
      unitRef="usd">40109000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfOC0zLTEtMS0zOTE1Nw_e4d29741-b8a3-4cae-9f96-c3c19457aa99"
      unitRef="usd">42732000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfOC01LTEtMS0zOTE1Nw_17bae0c7-7f37-4f6d-8316-7397e4062d56"
      unitRef="usd">47229000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTAtMS0xLTEtMzkxNTc_0f5bbe95-2d4a-48a9-860a-e69b8697429e"
      unitRef="usd">111281000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTAtMy0xLTEtMzkxNTc_6ec6c9e8-dc27-4659-a759-7f215a9b66e6"
      unitRef="usd">81870000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTAtNS0xLTEtMzkxNTc_a95ce161-815c-4d25-82ef-1284a9f77daa"
      unitRef="usd">55265000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTItMS0xLTEtMzkxNTc_2a5e85f0-c41c-47e5-9611-84f5ad027949"
      unitRef="usd">2559000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTItMy0xLTEtMzkxNTc_94894816-9a35-41a1-b442-1bd2e05742f9"
      unitRef="usd">2530000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTItNS0xLTEtMzkxNTc_d05ed08d-cfef-423f-b899-89c7eaeaf34f"
      unitRef="usd">5245000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTMtMS0xLTEtMzkxNTc_5dfe7516-4758-47d4-8cb6-545b5c4df77f"
      unitRef="usd">1041000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTMtMy0xLTEtMzkxNTc_25bcf61d-0ece-4611-b14e-2ea2d229719f"
      unitRef="usd">754000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTMtNS0xLTEtMzkxNTc_c9599f6d-a013-4923-9aef-d82fdf7075d8"
      unitRef="usd">280000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTQtMS0xLTEtMzkxNTc_91861cd6-729f-4b67-943d-ded508287118"
      unitRef="usd">109763000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTQtMy0xLTEtMzkxNTc_b15e482c-e1be-4bf3-8dc6-3b28eff605e3"
      unitRef="usd">80094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTQtNS0xLTEtMzkxNTc_e758b8a9-0b56-427d-a8c9-a4752e69a0a6"
      unitRef="usd">50300000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTUtMS0xLTEtMzkxNTc_0f6f496e-3051-457e-ae34-b3bcc404db58"
      unitRef="usd">21427000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTUtMy0xLTEtMzkxNTc_caf24943-ba8b-43c8-87b5-daf8b976cb9f"
      unitRef="usd">23114000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTUtNS0xLTEtMzkxNTc_8f7e35aa-2d2d-4ecd-9026-eea4267bb27d"
      unitRef="usd">11804000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTYtMS0xLTEtMzkxNTc_f1ab8f83-a132-4d76-a9cd-b9bd234331a1"
      unitRef="usd">88336000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTYtMy0xLTEtMzkxNTc_eb535762-04c9-4f25-b072-23837ead8b69"
      unitRef="usd">56980000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTYtNS0xLTEtMzkxNTc_658484b8-27a7-4265-a22f-cab75aa66d76"
      unitRef="usd">38496000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTgtMS0xLTEtMzkxNTc_467536f3-589f-4a80-86c4-9f90721fefef"
      unitRef="usdPerShare">2.67</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTgtMy0xLTEtMzkxNTc_97a37483-5f8a-451a-a8dd-60eab150ee0e"
      unitRef="usdPerShare">1.72</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMTgtNS0xLTEtMzkxNTc_053fa38a-dffb-40e7-a377-b8baee108bd8"
      unitRef="usdPerShare">1.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjAtMS0xLTEtMzkxNTc_b83085f3-6c89-4c5d-8be8-7e144122ffd2"
      unitRef="usdPerShare">2.66</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjAtMy0xLTEtMzkxNTc_fe577ca7-521d-477e-b292-fb3600f9f73d"
      unitRef="usdPerShare">1.70</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjAtNS0xLTEtMzkxNTc_70e91a76-b29c-419b-ac9b-c1133e879fcc"
      unitRef="usdPerShare">1.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjMtMS0xLTEtMzkxNTc_f92fa053-cc19-4f60-8506-03a8a9d81b1f"
      unitRef="shares">33048000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjMtMy0xLTEtMzkxNTc_0eb7a1fa-a1ad-4500-9236-45271e87ea8a"
      unitRef="shares">33193000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjMtNS0xLTEtMzkxNTc_34484384-30e0-4235-8b6b-d6c26b7d217b"
      unitRef="shares">32689000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjQtMS0xLTEtMzkxNTc_9fb16451-ae13-4065-baed-ce78e4d18f7f"
      unitRef="shares">33205000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjQtMy0xLTEtMzkxNTc_2132a597-ba90-48ff-b037-934adaf8fa60"
      unitRef="shares">33495000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjQtNS0xLTEtMzkxNTc_7ca8742e-c15d-41bf-86a2-4bee37954201"
      unitRef="shares">32821000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjYtMS0xLTEtMzkxNTc_e84ba1b4-dbd3-4538-81d1-7679ec4681c6"
      unitRef="usdPerShare">0.32</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjYtMy0xLTEtMzkxNTc_055a98ac-c2c0-43fb-af5f-a7f49d7d8bf5"
      unitRef="usdPerShare">0.32</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83Ni9mcmFnOjMwOWU4YmRmOWI3NjQxNWJiYWY3YzA0NzlmOTIyMGUzL3RhYmxlOjdiNTY5NDE1M2E2ODQyNGM4MzFiMTA1YjZjOTZlM2ZjL3RhYmxlcmFuZ2U6N2I1Njk0MTUzYTY4NDI0YzgzMWIxMDViNmM5NmUzZmNfMjYtNS0xLTEtMzkxNTc_ce8c0587-1016-488d-9bb6-5399f2a67e50"
      unitRef="usdPerShare">0.32</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:NetIncomeLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfMy0xLTEtMS0zOTE1Nw_f1ab8f83-a132-4d76-a9cd-b9bd234331a1"
      unitRef="usd">88336000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfMy0zLTEtMS0zOTE1Nw_eb535762-04c9-4f25-b072-23837ead8b69"
      unitRef="usd">56980000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfMy01LTEtMS0zOTE1Nw_658484b8-27a7-4265-a22f-cab75aa66d76"
      unitRef="usd">38496000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfNS0xLTEtMS0zOTE1Nw_6e3ba0cd-6541-4859-9037-33a7ddb91a39"
      unitRef="usd">-28334000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfNS0zLTEtMS0zOTE1Nw_a84d7c68-885d-4bb3-8b2f-bf1700a04cc4"
      unitRef="usd">7152000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfNS01LTEtMS0zOTE1Nw_5b7ac577-9cb1-4b9b-9435-95d60c4fbb6a"
      unitRef="usd">1078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfNy0xLTEtMS0zOTE1Nw_c2f77952-d85e-424c-b62a-1936da015199"
      unitRef="usd">897000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfNy0zLTEtMS0zOTE1Nw_22a50596-11a9-4374-9a48-a5b8e72243ef"
      unitRef="usd">5477000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfNy01LTEtMS0zOTE1Nw_2520887f-6ec6-4c9b-b184-2ab08136e9a4"
      unitRef="usd">-376000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfOC0xLTEtMS0zOTE1Nw_23d98b96-76b2-4c6e-ad40-668b0ec4c818"
      unitRef="usd">-215000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfOC0zLTEtMS0zOTE1Nw_13b7c390-92ca-41c4-ba6b-477801db9a79"
      unitRef="usd">-1375000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfOC01LTEtMS0zOTE1Nw_83d8830b-da3a-48b1-997f-ee6e5fb48330"
      unitRef="usd">91000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfOS0xLTEtMS0zOTE1Nw_a4dc8ce1-867f-49ea-ad92-048f7f91f6d2"
      unitRef="usd">-27652000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfOS0zLTEtMS0zOTE1Nw_5906e36c-bad7-4efa-a1b5-bdae6b0b2c14"
      unitRef="usd">11254000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfOS01LTEtMS0zOTE1Nw_1660535b-797b-435d-b06f-a606cff02fed"
      unitRef="usd">793000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfMTAtMS0xLTEtMzkxNTc_5ade9454-3fd0-44e9-9937-23476ef38509"
      unitRef="usd">60684000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfMTAtMy0xLTEtMzkxNTc_7c3ecd5d-6efb-4e87-bef0-25a580cf393c"
      unitRef="usd">68234000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl83OS9mcmFnOmFmOTNkN2Y1ZmIxZTQ5MzI4ZGQ1NzhhZDVjNTIzMjg0L3RhYmxlOjE2NzE2M2EzYmRhZjQyMGRiYzYzN2QzZjI0ZDE0YmJmL3RhYmxlcmFuZ2U6MTY3MTYzYTNiZGFmNDIwZGJjNjM3ZDNmMjRkMTRiYmZfMTAtNS0xLTEtMzkxNTc_44e51896-8b0d-42e1-a180-f96aada5ee5d"
      unitRef="usd">39289000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="if471912df9504e0598c1d2b37c8b5967_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy0xLTEtMS0zOTE1Nw_7657f7c8-81a6-4b0b-9062-f24a211687a3"
      unitRef="shares">37370402</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="if471912df9504e0598c1d2b37c8b5967_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy0zLTEtMS0zOTE1Nw_de275790-c347-4f33-8a4e-c15dcf9fd688"
      unitRef="usd">374000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i23ca82f72dab491a8ccf878dd9f06d63_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy01LTEtMS0zOTE1Nw_d3e96a6a-67b1-4c5f-9b56-4f37f55f5255"
      unitRef="usd">254673000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iae65f68eb020430bb07cf0fad7381495_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy03LTEtMS0zOTE1Nw_69c415e6-f70e-42cb-a124-44bb27341b6c"
      unitRef="usd">185703000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if4dd83aac78549f0b9c9f3fbd36b7577_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy05LTEtMS0zOTE1Nw_72ee117c-1291-4459-88ad-8d5fd4188b34"
      unitRef="usd">-33817000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="i6fcb4b7d93fc43b9b14455ceaa35cefa_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy0xMS0xLTEtMzkxNTc_267a7d0d-6815-4703-82dc-75e8eea03d26"
      unitRef="shares">4348613</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="i6fcb4b7d93fc43b9b14455ceaa35cefa_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy0xMy0xLTEtMzkxNTc_1619cb5a-a206-4437-8096-44a2f2fec5b7"
      unitRef="usd">-76746000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0e11f65c53b94063a703605461564410_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMy0xNS0xLTEtMzkxNTc_ffa575e5-7fe7-4b50-a1d1-5b9d1917851a"
      unitRef="usd">330187000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iccb93a0f0a894ed9bc2b925150c5d065_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNC03LTEtMS0zOTE1Nw_abb41144-c373-4e1c-84ed-1255e0872611"
      unitRef="usd">38496000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNC0xNS0xLTEtMzkxNTc_d13aca27-26c5-4e05-9bba-c91ea6d52685"
      unitRef="usd">38496000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i02109c7449a44953a1108b65d6bdb877_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNS05LTEtMS0zOTE1Nw_dc1c4f10-c13f-4fbe-95ec-1a3dac028e1d"
      unitRef="usd">1078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNS0xNS0xLTEtMzkxNTc_477eb17c-ca9c-4454-8ec1-80985fac764b"
      unitRef="usd">1078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNi0wLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOjljMzY4OGU5ZjAwNzQxMmI5NjA4ZGY4NTMyZjhlNDIwXzcx_cf4afc92-7a67-4703-b924-2f36d2821549"
      unitRef="usd">91000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i02109c7449a44953a1108b65d6bdb877_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNi05LTEtMS0zOTE1Nw_dd677e35-8ee7-4f50-aad5-e14f5ca01a6b"
      unitRef="usd">-285000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNi0xNS0xLTEtMzkxNTc_14dce5d4-68de-47bc-b4ef-21f834740af1"
      unitRef="usd">-285000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNy0wLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOjVhMTYxZjkxZWY3MzQzMmZhNDRjZWE4MWEwZGE0MTI3XzIy_5ce88b31-d8a6-484a-8faf-93f3a6405983"
      unitRef="usdPerShare">0.32</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="iccb93a0f0a894ed9bc2b925150c5d065_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNy03LTEtMS0zOTE1Nw_18d5eddb-5c4c-4458-82f5-f68999021034"
      unitRef="usd">10534000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfNy0xNS0xLTEtMzkxNTc_8c4899e8-9e7e-401c-a883-71b91e31546c"
      unitRef="usd">10534000</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfOC0xMS0xLTEtMzkxNTc_d89ed739-6580-47aa-a688-c5e4f072d70a"
      unitRef="shares">450000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfOC0xMy0xLTEtMzkxNTc_d6694402-863a-4917-81f7-febb4bed76f0"
      unitRef="usd">7233000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfOC0xNS0xLTEtMzkxNTc_2e87afc5-03cc-43d8-b0d4-f7a40aa33cc0"
      unitRef="usd">7233000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia6b0c8213a294ba3a0500108ecf33353_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfOS01LTEtMS0zOTE1Nw_1654af02-43fd-49c0-b797-0f1c7fb58618"
      unitRef="usd">879000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfOS0xNS0xLTEtMzkxNTc_e8e0598a-e3fd-40ca-b85d-951ae662e630"
      unitRef="usd">879000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia6b0c8213a294ba3a0500108ecf33353_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTAtNS0xLTEtMzkxNTc_b91ce776-8239-4d2b-a3f9-7f80d27e34e9"
      unitRef="usd">66000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iccb93a0f0a894ed9bc2b925150c5d065_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTAtNy0xLTEtMzkxNTc_f90eed62-b71c-4983-a85a-83ec07613eb6"
      unitRef="usd">-242000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTAtMTEtMS0xLTM5MTU3_618a2493-b86a-45cb-8dd2-7d2660f62978"
      unitRef="shares">215733</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTAtMTMtMS0xLTM5MTU3_116b2d15-08b5-4a9b-87a9-3366165036ba"
      unitRef="usd">3801000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTAtMTUtMS0xLTM5MTU3_22893b27-81e3-4876-82ff-5aa27aa3fce5"
      unitRef="usd">3625000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ia6b0c8213a294ba3a0500108ecf33353_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTEtNS0xLTEtMzkxNTc_a24abe92-32ed-471c-9b1c-b79c5841294e"
      unitRef="usd">-1212000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="iccb93a0f0a894ed9bc2b925150c5d065_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTEtNy0xLTEtMzkxNTc_95e82cc9-699a-47af-9a06-642425dc5654"
      unitRef="usd">94000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTEtMTEtMS0xLTM5MTU3_c726a36e-29ad-451e-9b7b-5cac66f0dd32"
      unitRef="shares">63400</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTEtMTMtMS0xLTM5MTU3_99494e4a-2476-4a12-9450-367a2935c048"
      unitRef="usd">1118000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="ia6b0c8213a294ba3a0500108ecf33353_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTItNS0xLTEtMzkxNTc_cec91aaf-201e-4b71-8e31-f5beb7617511"
      unitRef="usd">-495000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTItMTEtMS0xLTM5MTU3_82867758-a3b3-4ba1-87d5-9be2063cc207"
      unitRef="shares">28051</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="ia1fc69d903c9467c933d720fbe1575b8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTItMTMtMS0xLTM5MTU3_bfbd7040-d909-470b-9723-11144d4af28c"
      unitRef="usd">495000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockholdersEquityOtherShares
      contextRef="i084b27670cfb4a42a9d55f42ab90bc2a_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTMtMS0xLTEtMzkxNTc_89a4a978-9bc4-4af5-9cdf-5376ff4139f1"
      unitRef="shares">74236</us-gaap:StockholdersEquityOtherShares>
    <us-gaap:StockholdersEquityOther
      contextRef="i084b27670cfb4a42a9d55f42ab90bc2a_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTMtMy0xLTEtMzkxNTc_ba2f2cb7-2b3c-428c-80f3-3df62edbad70"
      unitRef="usd">1000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="ia6b0c8213a294ba3a0500108ecf33353_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTMtNS0xLTEtMzkxNTc_beb0453b-38d0-4958-8be7-cf256634c065"
      unitRef="usd">453000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTMtMTUtMS0xLTM5MTU3_26d7027f-e5b8-4634-877b-f5edfec1d50c"
      unitRef="usd">454000</us-gaap:StockholdersEquityOther>
    <us-gaap:CommonStockSharesIssued
      contextRef="i232b6e463c8d434cba584c07c4554aa8_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtMS0xLTEtMzkxNTc_720178d8-eba0-461c-a356-38341f8b84c8"
      unitRef="shares">37296166</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i232b6e463c8d434cba584c07c4554aa8_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtMy0xLTEtMzkxNTc_bc7ea35a-d606-486c-bc14-86189e90a2b8"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie455873cb5c04bdc8f6cbd703c6be33c_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtNS0xLTEtMzkxNTc_1d99342d-06af-4f38-821a-ba7b4f38ece7"
      unitRef="usd">253458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib6dfa4d5cdcf464da0525e002214697b_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtNy0xLTEtMzkxNTc_0d6b2b62-8574-4a84-882d-0e4803a11b2b"
      unitRef="usd">213517000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2659a54b4fad47a2b08860b44ed79e0f_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtOS0xLTEtMzkxNTc_95149f46-87e6-45de-bd66-3fe18a74b55d"
      unitRef="usd">-33024000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="i0299ab8e60ef4703aa6d269b0d886dba_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtMTEtMS0xLTM5MTU3_ff3d3838-c6eb-4620-908d-0322934d189b"
      unitRef="shares">4491429</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="i0299ab8e60ef4703aa6d269b0d886dba_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtMTMtMS0xLTM5MTU3_e11320f0-fd42-444d-8443-a1200bbdde9b"
      unitRef="usd">-78565000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTQtMTUtMS0xLTM5MTU3_503f39a9-2577-4736-bccd-9b7a86e61080"
      unitRef="usd">355759000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i1f6671c9727d44aaa43869d65a0c9a6f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTUtNy0xLTEtMzkxNTc_16762b32-6a15-4924-982b-6322407fa98f"
      unitRef="usd">56980000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTUtMTUtMS0xLTM5MTU3_a598dd19-54ee-452c-aadd-db7f7a90e493"
      unitRef="usd">56980000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="iae78c0662c4746818144d75d9b62c94e_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTYtOS0xLTEtMzkxNTc_ea70ddd7-3114-4116-93ef-c09cca83f163"
      unitRef="usd">7152000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTYtMTUtMS0xLTM5MTU3_d954b3f6-9f7c-4a37-94df-11464755a836"
      unitRef="usd">7152000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTctMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo4NGViYzBhZTViMzY0OWNiOTBmODU0YmM2NThlMGFmMV83NA_93f997f7-7fbd-42ba-b6e1-d239a14a7560"
      unitRef="usd">-1375000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="iae78c0662c4746818144d75d9b62c94e_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTctOS0xLTEtMzkxNTc_413b737f-9c69-4ccb-8780-df76d6f5780a"
      unitRef="usd">4102000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTctMTUtMS0xLTM5MTU3_cb27b372-3730-48c1-966b-8d9fe7c18ff2"
      unitRef="usd">4102000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTgtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjpiYjQ0NjgzZGQzMTQ0N2RhYjFiYWJlNGI1ZGUzNTkxYl8yMg_8a1a307a-2516-4290-aeb1-7561e5d9951f"
      unitRef="usdPerShare">0.32</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1f6671c9727d44aaa43869d65a0c9a6f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTgtNy0xLTEtMzkxNTc_1f333f6d-d561-4840-988c-a55739e59895"
      unitRef="usd">10779000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTgtMTUtMS0xLTM5MTU3_4f07fdd0-2aad-4e06-bcbd-0bda49fb68e5"
      unitRef="usd">10779000</us-gaap:DividendsCommonStockCash>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia2068dd0e31a452ba8219dd41a5c275b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTktNS0xLTEtMzkxNTc_5c0cd9ca-f178-4a3a-aff0-35b6d6c51651"
      unitRef="usd">1970000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMTktMTUtMS0xLTM5MTU3_ab29337d-1189-4f1f-af9d-cd836a9a7e60"
      unitRef="usd">1970000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjAtMTEtMS0xLTM5MTU3_ded7d635-940a-4408-bf27-e8e606dc40b0"
      unitRef="shares">478311</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjAtMTMtMS0xLTM5MTU3_750f25b9-63ad-43f2-9db3-a228ce2ae57d"
      unitRef="usd">11182000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjAtMTUtMS0xLTM5MTU3_44b80455-fec6-499b-9883-65a91c3bfc6e"
      unitRef="usd">11182000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia2068dd0e31a452ba8219dd41a5c275b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjEtNS0xLTEtMzkxNTc_b5a7b8e3-efc3-44c9-a226-cccad6f46f0e"
      unitRef="usd">1073000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjEtMTEtMS0xLTM5MTU3_220e3096-55d1-4d77-91bd-b93626aefb4c"
      unitRef="shares">865393</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjEtMTMtMS0xLTM5MTU3_c212789a-2d33-40f5-bbbc-e70cd342cb94"
      unitRef="usd">15199000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjEtMTUtMS0xLTM5MTU3_ac32a337-8f54-475c-95b0-a9f5e950175b"
      unitRef="usd">16272000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ia2068dd0e31a452ba8219dd41a5c275b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjItNS0xLTEtMzkxNTc_9f0c4dff-1332-4257-a11d-972a136ccfb5"
      unitRef="usd">-1282000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjItMTEtMS0xLTM5MTU3_b7657a88-c117-48aa-8d4f-cab983d7052a"
      unitRef="shares">73300</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjItMTMtMS0xLTM5MTU3_9f47a6c5-79e7-4890-a332-2cef05092c8d"
      unitRef="usd">1282000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="ia2068dd0e31a452ba8219dd41a5c275b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjMtNS0xLTEtMzkxNTc_23df9785-d4d3-40be-9eab-b0b2c7efd1e8"
      unitRef="usd">-565000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjMtMTEtMS0xLTM5MTU3_c8ffbedf-70cf-4459-b684-ca39ef10dc85"
      unitRef="shares">32322</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="i51588ac22de14fdc9566a12304a59e22_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjMtMTMtMS0xLTM5MTU3_f1e3408a-1b71-4b6f-a1b3-4f3dd272a502"
      unitRef="usd">-565000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockholdersEquityOtherShares
      contextRef="icc52a666ec274beeb40d36478e21f7a6_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjQtMS0xLTEtMzkxNTc_46e9bc5d-b3af-4ff7-8edc-f63e4c872f94"
      unitRef="shares">22656</us-gaap:StockholdersEquityOtherShares>
    <us-gaap:StockholdersEquityOther
      contextRef="ia2068dd0e31a452ba8219dd41a5c275b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjQtNS0xLTEtMzkxNTc_dceb66d4-8c2e-4f49-bbb6-634446717f66"
      unitRef="usd">492000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjQtMTUtMS0xLTM5MTU3_a2608d58-1d16-458c-9a2d-7f03ab129ecc"
      unitRef="usd">492000</us-gaap:StockholdersEquityOther>
    <us-gaap:CommonStockSharesIssued
      contextRef="i313405cd22954aaeaaa4775215100c7a_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtMS0xLTEtMzkxNTc_4ef23a3f-96cc-4300-bb43-92b73db248a0"
      unitRef="shares">37273510</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i313405cd22954aaeaaa4775215100c7a_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtMy0xLTEtMzkxNTc_09304945-87c3-4c47-b103-f557b78dc468"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if36c4a5d863f463e9e380de1c5213cfe_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtNS0xLTEtMzkxNTc_637e8f4a-668a-4e8a-afc2-1889a4dcbc49"
      unitRef="usd">254162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie926d331ebf347868b4520b404a4d484_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtNy0xLTEtMzkxNTc_c93b3b70-4342-45e2-acfc-cf795f831c29"
      unitRef="usd">259718000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i214da56e59d54d5db5a1a4d2402c02ec_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtOS0xLTEtMzkxNTc_cc03c154-42b1-4c9c-8e36-6f2a94882f86"
      unitRef="usd">-21770000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="i2a28a1cfd8264a0298abb942f564f041_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtMTEtMS0xLTM5MTU3_ae240372-df9b-49e8-99fc-390d144d01d8"
      unitRef="shares">3998725</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="i2a28a1cfd8264a0298abb942f564f041_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtMTMtMS0xLTM5MTU3_92606b44-ec10-4f87-90ce-0213b0e6d175"
      unitRef="usd">-72701000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjUtMTUtMS0xLTM5MTU3_4e18b75d-3da7-4afc-8ff3-2a504a4aa71f"
      unitRef="usd">419782000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i420e9738fbfe4115ba930124445b536f_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjYtNy0xLTEtMzkxNTc_214cf5e8-9f0c-4f77-87b1-4e38d6c424bc"
      unitRef="usd">88336000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjYtMTUtMS0xLTM5MTU3_94c0c147-fa71-40b7-b94c-d51d998c15f9"
      unitRef="usd">88336000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i2e7f379843c7427bb912a2c2147e9f42_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjctOS0xLTEtMzkxNTc_7b7d0786-e60c-4216-80f6-e071202a85b1"
      unitRef="usd">-28334000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjctMTUtMS0xLTM5MTU3_6fc331b8-cf07-4350-baa5-81462c3e9f02"
      unitRef="usd">-28334000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjgtMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjpiMjFmOTY0NzBjMGE0YTI4ODFlNzBiNmU1NjQ2NDRmMV83MQ_e3c138b3-7f34-4e62-9c28-5a2be7b75f15"
      unitRef="usd">-215000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i2e7f379843c7427bb912a2c2147e9f42_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjgtOS0xLTEtMzkxNTc_00c5c798-8750-43ad-a9c5-96fdf99271e1"
      unitRef="usd">682000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjgtMTUtMS0xLTM5MTU3_98f22d31-260e-4327-82b1-de4a05faf56f"
      unitRef="usd">682000</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjktMC0xLTEtMzkxNTcvdGV4dHJlZ2lvbjo3Yjg2ODYxMzA3N2M0NzYwYjA5ZTYyOTNhNmE3MDExN18yMg_52f978e9-9f7a-4376-bf2d-2c7b33373e66"
      unitRef="usdPerShare">0.32</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i420e9738fbfe4115ba930124445b536f_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjktNy0xLTEtMzkxNTc_739428fe-6956-419c-a2bd-04c7626c4fe0"
      unitRef="usd">10598000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMjktMTUtMS0xLTM5MTU3_3a218688-d4cc-48bd-9aa8-1103cde1ce75"
      unitRef="usd">10598000</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzAtMTEtMS0xLTM5MTU3_7214999e-ce8b-4ad1-8cac-b7a41844678c"
      unitRef="shares">291000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzAtMTMtMS0xLTM5MTU3_1c86c856-fe05-4f5e-be89-c9789944dffc"
      unitRef="usd">6600000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzAtMTUtMS0xLTM5MTU3_21073ec9-cbef-4426-8627-cb58443e2170"
      unitRef="usd">6600000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i7029efa6f3584f8b995edc323999c16d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzEtNS0xLTEtMzkxNTc_154b3f7b-5a9f-4cce-b4d8-782f48690ad4"
      unitRef="usd">2291000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzEtMTUtMS0xLTM5MTU3_ab88b8c8-af02-4f3d-ad37-e5393a0b0c8f"
      unitRef="usd">2291000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i7029efa6f3584f8b995edc323999c16d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzItNS0xLTEtMzkxNTc_a93cd666-a755-41ba-b766-7b7b363c76f1"
      unitRef="usd">38000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzItMTEtMS0xLTM5MTU3_bba320bb-f03e-4a10-bb89-4e135558c04c"
      unitRef="shares">35600</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzItMTMtMS0xLTM5MTU3_77495830-2a7c-410b-9afd-0ea56199c1f2"
      unitRef="usd">651000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzItMTUtMS0xLTM5MTU3_7b30decb-fb7a-4510-b8a9-f6d9db44b897"
      unitRef="usd">689000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i7029efa6f3584f8b995edc323999c16d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzQtNS0xLTEtMzkxNTc_dfb19aed-8c17-4d0f-bb06-f754df838c66"
      unitRef="usd">-1534000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzQtMTEtMS0xLTM5MTU3_037e8194-e02f-4a91-bc3a-ef8363d1d1f7"
      unitRef="shares">84400</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzQtMTMtMS0xLTM5MTU3_ca65a485-b5a1-40ae-8d31-04b86d345961"
      unitRef="usd">1534000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="i7029efa6f3584f8b995edc323999c16d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzUtNS0xLTEtMzkxNTc_df99310c-e54e-44ac-acbd-6fdfe6fcd041"
      unitRef="usd">-1598000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzUtMTEtMS0xLTM5MTU3_42551aba-eb5e-485b-ace5-c1d638adbc3b"
      unitRef="usd">87919</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:IncomeTaxEffectsAllocatedDirectlyToEquityOther
      contextRef="i6378fd63f8994e33b44f673f0ffcfe3d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzUtMTMtMS0xLTM5MTU3_7cca4ecb-5d83-4d1f-8049-f75b57d9102b"
      unitRef="usd">-1598000</us-gaap:IncomeTaxEffectsAllocatedDirectlyToEquityOther>
    <us-gaap:StockholdersEquityOtherShares
      contextRef="ia115a450ad0e49caa6acf64fc20d0f44_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzYtMS0xLTEtMzkxNTc_6d5de936-4f46-4d27-97b7-637ac6982b46"
      unitRef="shares">62454</us-gaap:StockholdersEquityOtherShares>
    <us-gaap:StockholdersEquityOther
      contextRef="ia115a450ad0e49caa6acf64fc20d0f44_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzYtMy0xLTEtMzkxNTc_67991987-1ea6-4894-86af-fcda7be88940"
      unitRef="usd">1000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i7029efa6f3584f8b995edc323999c16d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzYtNS0xLTEtMzkxNTc_b34e7a87-4c28-4ec9-9b6f-f3b94558a7da"
      unitRef="usd">1412000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzYtMTUtMS0xLTM5MTU3_a3eaa570-e1d7-47ac-bb08-30824c3b178d"
      unitRef="usd">1413000</us-gaap:StockholdersEquityOther>
    <us-gaap:CommonStockSharesIssued
      contextRef="ia7d98230cbdd4d9fa9953a47d50128b6_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctMS0xLTEtMzkxNTc_dc964225-6881-488b-b7a3-82e72d6c59fc"
      unitRef="shares">37211056</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ia7d98230cbdd4d9fa9953a47d50128b6_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctMy0xLTEtMzkxNTc_321dbf45-ebb9-4f03-b7ed-4e1201060f3c"
      unitRef="usd">372000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i13553d0efb024b629b19d1494f750b48_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctNS0xLTEtMzkxNTc_99b41309-a5fa-4235-be74-d943412bf33d"
      unitRef="usd">251947000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie4b0033edde24d34a7b567c5c3ab4054_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctNy0xLTEtMzkxNTc_698f020e-2126-4388-a7f6-4055dae39142"
      unitRef="usd">337456000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie49806ef23364049989c095f9bee8988_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctOS0xLTEtMzkxNTc_fcf14e50-10e5-4a86-8215-8337d876c053"
      unitRef="usd">-49422000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockShares
      contextRef="i1c4ee8b1f83847cdac77c9676ef21218_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctMTEtMS0xLTM5MTU3_899d3ff8-2f82-4ba5-b327-1442f0f7ac2b"
      unitRef="shares">4081806</us-gaap:TreasuryStockShares>
    <us-gaap:StockholdersEquity
      contextRef="i1c4ee8b1f83847cdac77c9676ef21218_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctMTMtMS0xLTM5MTU3_6c49a7e2-43ae-4354-8eb1-878dbbd46b21"
      unitRef="usd">-75518000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84Mi9mcmFnOmE2NTBjZjBkMzYwYjQ3ZTk5NDgxMDQyMGQ1ZDZmMmNkL3RhYmxlOmZjOWNkMTY0YzMwMTQ2MTk5Yjk5N2NiMmM5NmJlMjUyL3RhYmxlcmFuZ2U6ZmM5Y2QxNjRjMzAxNDYxOTliOTk3Y2IyYzk2YmUyNTJfMzctMTUtMS0xLTM5MTU3_abb50cef-8f41-4403-8c48-d58cb0bacdc5"
      unitRef="usd">464835000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNC0xLTEtMS0zOTE1Nw_942cc612-1cc4-4f2d-b7f5-fc01ab7a3784"
      unitRef="usd">88336000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNC0zLTEtMS0zOTE1Nw_ca6bf3de-f9aa-4392-a360-d726c2e71e80"
      unitRef="usd">56980000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNC01LTEtMS0zOTE1Nw_d336f690-b7f6-43e7-83ee-bec742f3b593"
      unitRef="usd">38496000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationAmortizationAndAccretionNet
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNi0xLTEtMS0zOTE1Nw_6ba2ddd5-8d01-49da-a106-ac8c16af03a9"
      unitRef="usd">40109000</us-gaap:DepreciationAmortizationAndAccretionNet>
    <us-gaap:DepreciationAmortizationAndAccretionNet
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNi0zLTEtMS0zOTE1Nw_8a553c02-1069-4510-a01b-e85fc46745ea"
      unitRef="usd">42732000</us-gaap:DepreciationAmortizationAndAccretionNet>
    <us-gaap:DepreciationAmortizationAndAccretionNet
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNi01LTEtMS0zOTE1Nw_9552184a-2e25-427e-98ed-e1aac9204c1f"
      unitRef="usd">47229000</us-gaap:DepreciationAmortizationAndAccretionNet>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNy0xLTEtMS0zOTE1Nw_521d12f5-1ee7-4288-8cdb-9740e696952f"
      unitRef="usd">-109000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNy0zLTEtMS0zOTE1Nw_252bfedf-88f1-4724-ab6d-ae2b0dac2544"
      unitRef="usd">-3039000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNy01LTEtMS0zOTE1Nw_8322d757-dd78-4ecc-910a-5a1729a7cc1a"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:ShareBasedCompensation
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfOC0xLTEtMS0zOTE1Nw_0751495f-d1c7-4f22-82ad-0845a63e9c7c"
      unitRef="usd">2291000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfOC0zLTEtMS0zOTE1Nw_93c7abd4-59a6-4fbe-acf5-99b0a2f631f3"
      unitRef="usd">1970000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfOC01LTEtMS0zOTE1Nw_80a20983-31cd-476c-92cb-7dd6a606320e"
      unitRef="usd">879000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfOS0xLTEtMS0zOTE1Nw_ebc5847f-0324-4eb8-8faf-1c6ae9ef06ae"
      unitRef="usd">2097000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfOS0zLTEtMS0zOTE1Nw_5ba5edfc-8578-4793-81f5-022a9f37cfc8"
      unitRef="usd">1785000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfOS01LTEtMS0zOTE1Nw_fdc82b7f-fc8f-44b6-989f-a86a4f12921e"
      unitRef="usd">-189000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTQtMS0xLTEtMzkxNTc_8a0d5fcf-d811-4de6-945d-af2b311f6c99"
      unitRef="usd">-1905000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTQtMy0xLTEtMzkxNTc_fe0de113-9afe-40e4-b1c9-4dceb68e0e31"
      unitRef="usd">-2126000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTQtNS0xLTEtMzkxNTc_d18b6f66-4c9f-40a8-b0af-71c728c3dcb6"
      unitRef="usd">-1689000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTYtMS0xLTEtMzkxNTc_ad2f70bd-c9ca-4343-8ac7-66e6a7fe856d"
      unitRef="usd">-6945000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTYtMy0xLTEtMzkxNTc_eaad3166-2363-434c-8501-0d53385ce865"
      unitRef="usd">19017000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTYtNS0xLTEtMzkxNTc_a2e8a8d9-a7a1-4521-999c-ab81aea691a4"
      unitRef="usd">5766000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTctMS0xLTEtMzkxNTc_08d70801-998e-47d6-a148-1743fc989c52"
      unitRef="usd">32035000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTctMy0xLTEtMzkxNTc_ca6c958a-70d0-44da-bc00-5203c8f4a543"
      unitRef="usd">31382000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTctNS0xLTEtMzkxNTc_1032c470-f850-4298-9f07-048fc9ee410a"
      unitRef="usd">-6119000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTgtMS0xLTEtMzkxNTc_958fb736-c6f4-46af-b67e-ef63c80270d1"
      unitRef="usd">970000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTgtMy0xLTEtMzkxNTc_11eb8a4d-8878-483c-ae5c-3d9271fe3f75"
      unitRef="usd">1817000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTgtNS0xLTEtMzkxNTc_84e6a2e7-fe0b-4f87-a640-ad83a06b81c0"
      unitRef="usd">-2896000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTktMS0xLTEtMzkxNTc_1dfed53d-5510-410c-b1a5-0902d3f3cceb"
      unitRef="usd">-3047000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTktMy0xLTEtMzkxNTc_abe6eac8-18fd-41ce-a316-646daa04b5e9"
      unitRef="usd">7097000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMTktNS0xLTEtMzkxNTc_689cf56b-5b82-420d-9110-3dae7fbb7163"
      unitRef="usd">15922000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjAtMS0xLTEtMzkxNTc_e5cf4105-3e70-4f94-a6c5-1cbf710166f7"
      unitRef="usd">-3159000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjAtMy0xLTEtMzkxNTc_71291ba0-f334-4cf6-9729-e2494cb99df3"
      unitRef="usd">16212000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjAtNS0xLTEtMzkxNTc_7915f725-96a8-43bc-ae58-d97f1cdfbf7e"
      unitRef="usd">-3156000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjEtMS0xLTEtMzkxNTc_f48d69eb-0e24-4ef0-9480-0d53f150124e"
      unitRef="usd">-5192000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjEtMy0xLTEtMzkxNTc_e2dbd9db-5e04-436b-b89c-78715bc6c3b2"
      unitRef="usd">-378000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjEtNS0xLTEtMzkxNTc_c750ecae-878a-44f0-b399-8a9b78b9da45"
      unitRef="usd">237000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjItMS0xLTEtMzkxNTc_1867ec1d-fbf5-4751-ae75-d7b4b2ca0c7a"
      unitRef="usd">77000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjItMy0xLTEtMzkxNTc_f632982b-f31b-4791-b906-7de35a03b69b"
      unitRef="usd">-708000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjItNS0xLTEtMzkxNTc_4ffd1600-768a-4e9e-a5a5-f3bc56357a54"
      unitRef="usd">-2775000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjMtMS0xLTEtMzkxNTc_1e1e5b42-e01b-4bd7-94f1-8f6015aa4289"
      unitRef="usd">305000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjMtMy0xLTEtMzkxNTc_fecb0bf8-4468-48c3-aef1-4e02f15796d4"
      unitRef="usd">477000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjMtNS0xLTEtMzkxNTc_5e80cb2f-22f7-4938-861a-593f722af76e"
      unitRef="usd">-236000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjQtMS0xLTEtMzkxNTc_fa0e0478-b1f4-4717-a556-ca06618d007b"
      unitRef="usd">-194000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjQtMy0xLTEtMzkxNTc_1f9c3bd1-df7b-46bf-9d9d-cf488865667d"
      unitRef="usd">528000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjQtNS0xLTEtMzkxNTc_2a0d1b0a-d6b2-4b31-ac18-68aa31fd8061"
      unitRef="usd">549000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjUtMS0xLTEtMzkxNTc_4adf0a73-1c6e-450c-8153-8e1c36132bde"
      unitRef="usd">97965000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjUtMy0xLTEtMzkxNTc_66ef047f-e1ec-4d46-97bd-3f486baa0646"
      unitRef="usd">78588000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjUtNS0xLTEtMzkxNTc_64909af8-ca5f-437b-ad27-a8a2f165a5ae"
      unitRef="usd">100796000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjktMS0xLTEtMzkxNTc_78357bf2-be1e-499a-8c3e-2345237371db"
      unitRef="usd">33121000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjktMy0xLTEtMzkxNTc_a91e849a-8662-4cc3-b971-42e952f3fb31"
      unitRef="usd">24008000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMjktNS0xLTEtMzkxNTc_a1950c32-907f-4653-8542-9ce2a8d065e2"
      unitRef="usd">25726000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzAtMS0xLTEtMzkxNTc_62953c77-b20e-4a99-acdf-743d44516acf"
      unitRef="usd">159000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzAtMy0xLTEtMzkxNTc_180967c8-f795-4d77-9fac-cd3991eca312"
      unitRef="usd">5300000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzAtNS0xLTEtMzkxNTc_1f5f58a6-7131-44d9-adb1-f5656ad1ffc3"
      unitRef="usd">502000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzItMS0xLTEtMzkxNTc_2391d1e0-be08-4eec-9e13-1be1e122b0bb"
      unitRef="usd">-32962000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzItMy0xLTEtMzkxNTc_8962a602-b48d-4bf3-a8f2-608779515299"
      unitRef="usd">-18708000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzItNS0xLTEtMzkxNTc_bdbb5f4f-bd3c-40ef-a859-03199e069cac"
      unitRef="usd">-25224000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzQtMS0xLTEtMzkxNTc_52208095-9328-48f8-80be-4b4b17a97406"
      unitRef="usd">70500000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzQtMy0xLTEtMzkxNTc_e68cd574-0450-4767-9c92-2fa6396974f1"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzQtNS0xLTEtMzkxNTc_82548d12-9cf4-40ba-a823-16836a709fc5"
      unitRef="usd">114500000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzUtMS0xLTEtMzkxNTc_0c54405d-67ab-404d-baa6-d3acd8da3a9e"
      unitRef="usd">95500000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzUtMy0xLTEtMzkxNTc_028965dc-f818-49fc-b1b7-cd9fb40adc8f"
      unitRef="usd">65000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzUtNS0xLTEtMzkxNTc_a9a6d4a6-985a-4a60-96ed-235575d79676"
      unitRef="usd">154000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzYtMS0xLTEtMzkxNTc_b85a8b4d-9c33-4c37-abf0-f78cc76e0457"
      unitRef="usd">1210000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzYtMy0xLTEtMzkxNTc_7f2dd4cf-b7af-4d72-88f2-bd3b93ac96f5"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzYtNS0xLTEtMzkxNTc_6497ca82-be29-4f1a-a402-4a190b818ae0"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzctMS0xLTEtMzkxNTc_741a3350-e922-45e2-ac2a-b004bfb976c3"
      unitRef="usd">1747000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzctMy0xLTEtMzkxNTc_6d9d521e-2ad6-4ce2-b749-16f1d2d7c8a9"
      unitRef="usd">680000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzctNS0xLTEtMzkxNTc_261df7ce-6340-4784-8174-b660cb09cb05"
      unitRef="usd">1027000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzgtMS0xLTEtMzkxNTc_b751cb01-483c-4cc0-8b9d-a1b9a254e4db"
      unitRef="usd">10598000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzgtMy0xLTEtMzkxNTc_7ebb77a8-b322-4b8c-829f-61b2eb8fb88d"
      unitRef="usd">10779000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzgtNS0xLTEtMzkxNTc_53562857-5ddb-4c9e-9d9c-a829e3e1cbd2"
      unitRef="usd">10534000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzktMS0xLTEtMzkxNTc_7239ad24-2936-4e61-a62d-5dd887b2365b"
      unitRef="usd">689000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzktMy0xLTEtMzkxNTc_e753f79b-2040-4a86-9b4f-3502d27c48de"
      unitRef="usd">16272000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfMzktNS0xLTEtMzkxNTc_2170c29e-6c8b-45fe-8332-8431c01a6635"
      unitRef="usd">3626000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDEtMS0xLTEtMzkxNTc_061e60a5-5971-45c3-adc2-1b37678749e5"
      unitRef="usd">1413000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDEtMy0xLTEtMzkxNTc_8e49deaf-1306-4ccc-ace6-6d37d45f0dce"
      unitRef="usd">492000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDEtNS0xLTEtMzkxNTc_a0bf785c-f1dd-48ea-8d9a-134e39a9a5ec"
      unitRef="usd">454000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDItMS0xLTEtMzkxNTc_aa3ccb52-9f81-4e29-bf41-befcdb28dcd2"
      unitRef="usd">6600000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDItMy0xLTEtMzkxNTc_90e5884a-0876-443e-9357-9fe909fb9063"
      unitRef="usd">11182000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDItNS0xLTEtMzkxNTc_71510f7e-31e9-43cb-934c-ccc17db1d008"
      unitRef="usd">7233000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDQtMS0xLTEtMzkxNTc_ecf47c03-e70c-4910-b6a4-46abb7bdcda0"
      unitRef="usd">-45879000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDQtMy0xLTEtMzkxNTc_acfbbee8-ffc3-407b-96d7-30d372b1263d"
      unitRef="usd">-71861000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDQtNS0xLTEtMzkxNTc_b6973c95-c438-4bd0-a1d2-ea20f9aa6539"
      unitRef="usd">-55122000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDUtMS0xLTEtMzkxNTc_84ba9b2a-c6b0-4039-b07a-330eadffc93e"
      unitRef="usd">-4092000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDUtMy0xLTEtMzkxNTc_6a7db721-d7be-4698-89eb-30d50ba3f1b4"
      unitRef="usd">421000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDUtNS0xLTEtMzkxNTc_f3d0655b-0db8-495f-8a58-016019b6ba34"
      unitRef="usd">303000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDYtMS0xLTEtMzkxNTc_b6095e79-f95a-47de-9e57-8ae137df33fe"
      unitRef="usd">15032000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDYtMy0xLTEtMzkxNTc_83687360-52dc-41d2-abbf-b51fb19b4663"
      unitRef="usd">-11560000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDYtNS0xLTEtMzkxNTc_6989e750-7d4f-4521-81e3-b38eaa867014"
      unitRef="usd">20753000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDctMS0xLTEtMzkxNTc_22ca514e-f398-425d-ae9a-0dc4e2f558b1"
      unitRef="usd">40061000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDctMy0xLTEtMzkxNTc_f69027c1-90cb-40c1-a45f-252b0ee40e72"
      unitRef="usd">51621000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0e11f65c53b94063a703605461564410_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDctNS0xLTEtMzkxNTc_c2d2fa3e-6999-400d-b9a5-e54935cf05f7"
      unitRef="usd">30868000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDgtMS0xLTEtMzkxNTc_70131a32-6d9e-4d1f-a3b3-9cd3ceacb12f"
      unitRef="usd">55093000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDgtMy0xLTEtMzkxNTc_29857049-5354-407a-b68a-782de2a314da"
      unitRef="usd">40061000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84NS9mcmFnOjY0NzFkZWFlOTgzMTQ0NmY4YzUzNGYzNzlmOGNlMWYxL3RhYmxlOmJhNTRjNGI3MjMzMTRmODlhY2IzYWFhYWY0YTMzODIyL3RhYmxlcmFuZ2U6YmE1NGM0YjcyMzMxNGY4OWFjYjNhYWFhZjRhMzM4MjJfNDgtNS0xLTEtMzkxNTc_f49fee89-3bc6-4e04-be2d-730a162baab9"
      unitRef="usd">51621000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2Mzk_2aa2f8d5-a984-4979-8610-0e3edd46ed78">Nature of Operations, Basis of Presentation and Significant Accounting Policies &lt;div style="margin-top:9pt;text-indent:18pt"&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;Nature of Operations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Quanex Building Products Corporation is a component supplier to original equipment manufacturers (OEMs) in the building products industry.  These components can be categorized as window and door (fenestration) components and kitchen and bath cabinet components.  Examples of fenestration components include: (1) energy-efficient flexible insulating glass spacers, (2) extruded vinyl profiles, (3) window and door screens, and (4) precision-formed metal and wood products. We also manufacture cabinet doors and other components for OEMs in the kitchen and bathroom cabinet industry.  In addition, we provide certain other non-fenestration components and products, which include solar panel sealants, trim moldings, vinyl decking, fencing, water retention barriers, and conservatory roof components. We have organized our business into three reportable business segments: (1) North American Fenestration (NA Fenestration), (2) European Fenestration (EU Fenestration) and (3) North American Cabinet Components (NA Cabinet Components).  For additional discussion of our reportable business segments, see Note 16, &#x201c;Segment Information.&#x201d;  We use low-cost production processes and engineering expertise to provide our customers with specialized products for their specific window, door, and cabinet applications. We believe these capabilities provide us with unique competitive advantages. We serve a primary customer base in North America and the United Kingdom (U.K.), and also serve customers in international markets through our operating plants in the U.K. and Germany, as well as through sales and marketing efforts in other countries. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Unless the context indicates otherwise, references to &#x201c;Quanex&#x201d;, the &#x201c;Company&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; and &#x201c;our&#x201d; refer to the consolidated business operations of Quanex Building Products Corporation and its subsidiaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our consolidated financial statements have been prepared by us in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP). We consolidate our wholly-owned subsidiaries and eliminate intercompany sales and transactions. We have no cost or equity investments in companies that are not wholly-owned. In our opinion, these audited financial statements contain all adjustments necessary to fairly present our financial position, results of operations and cash flows for the periods presented. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing financial statements, we make informed judgments and estimates that affect the reported amounts of assets and liabilities as of the date of the financial statements and affect the reported amounts of revenues and expenses during the reporting period. We review our estimates on an ongoing basis, including those related to impairment of long lived assets and goodwill, pension and retirement liabilities, contingencies and income taxes. Changes in facts and circumstances may result in revised estimates and actual results may differ from these estimates. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our significant accounting policies consistently applied in the preparation of the accompanying consolidated financial statements follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue from Contracts with Customers&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue that reflects the consideration we expect to receive for product sales upon transfer to customers. Revenue for product sales is recognized when control of the promised products is transferred to our customers, and we are entitled to consideration in exchange for such transfer. We account for a contract when a customer provides us with a firm purchase order that identifies the products to be provided, the payment terms for those products, and when collectability of the consideration due is probable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:103%"&gt;Performance obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A performance obligation is a promise to provide the customer with a good or service. Our performance obligations include product sales, with each product included in a customer contract being recognized as a separate performance obligation.  For contracts with multiple performance obligations, the standalone selling price of each product is generally readily observable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue from product sales is recognized at a point in time when the product is transferred to the customer, in accordance with the shipping terms, which is generally upon shipment. We estimate a provision for sales returns and warranty allowances to acc&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ount for product returns related to general returns and product nonconformance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally expense incremental costs of obtaining a contract when incurred because the amortization period would be less than one year.  Additionally, we do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Pricing and sales i&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;ncentives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pricing is established at or prior to the time of sale with our customers and we record sales at the agreed-upon net selling price, reflective of current and prospective discounts.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Shipping and handling cost&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;s&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for shipping and handling services as fulfillment services; accordingly, freight revenue is combined with the product deliverable rather than being accounted for as a distinct performance obligation within the terms of the agreement.  Shipping and handling costs incurred by us for the delivery of goods to customers are considered a cost to fulfill the contract and are included in cost of sales in the accompanying consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Contract assets and liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue, which is not significant, is recorded when we have remaining unsatisfied performance obligations for which we have received consideration. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Disaggregation of revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We produce a wide variety of products that are used in the fenestration industry, including insulating glass spacer systems; extruded vinyl products; metal fabricated products; and astragals, thresholds and screens. In addition, we produce certain non-fenestration products, including kitchen and bath cabinet doors and components, flooring and trim moldings, solar edge tape, plastic decking, fencing, water retention barriers, conservatory roof components, and other products. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our product sales for the three years ended October&#160;31, 2022, 2021, and 2020 into groupings by segment which we believe depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by economic factors.  For further details regarding our results by segment, refer to Note 16, &#x201c;Segment Information.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;NA Fenestration:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;609,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;507,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;427,616&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,279&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,935&#160;&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;578,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;EU Fenestration:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,432&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,622&#160;&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;NA Cabinet Components:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,842&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,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:10pt;font-weight:400;line-height:100%"&gt;196,479&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210,099&#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:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents include all highly liquid investments with an original maturity of three months or less. Such securities with an original maturity which exceeds three months are deemed to be short-term investments.  We maintain cash and cash equivalents at several financial institutions, which at times may not be federally insured or may exceed federally insured limits. We have not experienced any losses in such accounts and believe we are not exposed to any significant credit risks on such accounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Concentration of Credit Risk and Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain of our businesses or product lines are largely dependent on a relatively few large customers.  Although we believe we have an exte&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;nsive customer base, the loss of one of these large customers or if such customers were to incur a prolonged period of decline in business, our financial condition and results of operations could be adversely affected.  For the years ended October&#160;31, 2022 and 2020, one customer provided more than 10% of our consolidated net sales.  For the year ended October&#160;31, 2021, no customer provided more than 10% of our consolidated net sales. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; We have establishe&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;d an allowance for credit losses to estimate the risk of loss associated with our accounts receivable balances.  Our policy for determining the allowance is based on factors that affect collectability, including: (a) historical trends of write-offs, recoveries and credit losses; (b) the credit quality of our customers; and (c) projected economic and market conditions.  We believe our allowance is adequate to absorb any known or probable lo&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;sses as of October&#160;31, 2022.  Different assumptions or changes in economic circumstances could result in changes to the allowance.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We apply the acquisition method of accounting for business combinations, which requires us to make use of estimates and judgments to allocate the purchase price paid for acquisitions to the fair value of the assets and liabilities acquired.  We account for contingent assets and liabilities at fair value on the acquisition date, and record changes to fair value associated with these asse&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ts and liabilities as a period cost as incurred. We use established valuation techniques and engage reputable valuation specialists to assist us with these valuations.  However, there is a risk that we may not identify all pre-acquisition contingencies or that our estimates may not reflect the actual results when realized.  We use a reasonable measurement period to record any adjustment related to the opening balance sheet (generally, less than one year).  After the measurement period, changes to the opening balance sheet can result in the recognition of income or expense as period costs.  To the extent these items stem from contingencies that existed at the balance sheet date, but are contingent upon the realization of future events, the cost is charged to expense at the time the future event becomes known. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Inventory&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record inventory at the lower of cost or net realizable value. Inventories are valued using the first-in first-out (FIFO) method.  Fixed costs related to excess manufacturing capacity are evaluated and expensed in the period, to ensure that inventory is properly capitalized. Inventory quantities are regularly reviewed and provisions for excess or obsolete inventory are recorded primarily based on our forecast of future demand and our estimates regarding current and future market conditions. Significant unanticipated variances to our forecasts could require a change in the provision for excess or obsolete inventory, resulting in a charge to net income during the period of the change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-Lived Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Property, Plant and Equipment and Intangible Assets with Defined Lives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We make judgments and estimates related to the carrying value of property, plant and equipment, intangible assets with defined lives, and long-lived assets, which include determining when to capitalize costs, the depreciation and amortization methods to use and the useful lives of these assets. We evaluate these assets for impairment when there are indicators that the carrying values of these assets might not be recoverable. Such indicators of impairment may include changes in technology, significant market fluctuations, historical losses or loss of a significant customer, or other changes in circumstance that could affect the assets&#x2019; ability to generate future cash flows. When we evaluate these assets for impairment, we compare the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset to its carrying value. If the carrying value exceeds the sum of the undiscounted cash flows, and there is no alternative use for the asset, we determine that the asset is impaired. To measure the impairment charge, we compare the carrying amount of the long-lived asset to its fair value, as determined by quoted market prices in active markets, if available, or by discounting the projected future cash flows. This calculation of fair value requires us to develop and employ long-term forecasts of future operating results related to these assets. These forecasts are based on assumptions about demand for our products and future market conditions. Future events and unanticipated changes to these assumptions could require a provision for impairment, resulting in a charge to net income during the period of the change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We monitor relevant circumstances, including industry trends, general economic conditions, and the potential impact that such circumstances might have on the valuation of our identifiable intangible assets with finite lives. Events and changes in circumstance that may cause a triggering event and necessitate such a review include, but are not limited to: a decrease in sales for certain customers, improvements or changes in technology, and/or a decision to discontinue the use of a trademark or trade name, or to allow a patent to lapse. Such events could negatively impact the fair value of our identifiable intangible assets. In such circumstances, we may evaluate the underlying assumptions and estimates made by us in order to assess the appropriate valuation of these identifiable intangible assets and compare to the carrying value of the assets. We may be required to write down these identifiable intangible assets and record a non-cash impairment charge. When we originally value our intangible assets, we use a variety of techniques to establish the carrying value of the assets, including the relief from royalty method, excess current year earnings method and income method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The World Health Organization's (WHO), declaration of COVID-19 as a global pandemic also created significant changes in market conditions throughout 2020 that have continued into 2021. We determined that these conditions were indicators of a triggering event in 2020 which necessitated an evaluation of certain long-term assets used in these businesses for potential impairment. We compared the projected undiscounted cash flows we expected to realize associated with these assets over the remaining useful lives of the primary operating assets to the net book value of the long-term assets, including goodwill, and determined that these assets were not impaired.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended October 31, 2022, our North American vinyl extrusion operations in our NA Fenestration segment experienced lower-than-expected operating results due to the continued impact of inflation and historical customer contracts which prevent us from passing on the full impact of higher costs to our customers. We determined that this condition was an indicator of a triggering event which necessitated an evaluation of certain long-term assets used in this business for potential impairment. We compared the projected undiscounted cash flows we expected to realize associated with these assets over the remaining useful lives of the primary operating assets to the net book value of the long-term assets and determined that these assets were not impaired. Should we be unable to successfully increase prices to offset inflation, it is possible that we could incur an impairment in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no indicators of triggering events noted for any period in the year ended October 31, 2021. Therefore, we did not record an impairment charge related to property, plant and equipment or intangible assets with defined lives during the years ended October 31, 2022, 2021 and 2020.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development costs, including costs incurred to purchase third-party software, are capitalized when we have determined that the technology is capable of meeting our performance requirements, and we have authorized funding for the project. We cease capitalization of software costs when the software is substantially complete and is ready for its intended use.  The software is then amortized over its estimated useful life. When events or circumstances indicate the carrying value of internal use software might not be recoverable, we assess the recoverability of these assets by comparing the carrying value of the asset to the undiscounted future cash flows expected to be generated from the asset&#x2019;s use, consistent with the methodology to test other property, plant and equipment for impairment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant and equipment is stated at cost and is depreciated using the straight-line method over the estimated useful lives of the assets. We capitalize betterments which extend the useful lives or significantly improve the operational efficiency of assets. We expense repair and maintenance costs as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated useful lives of our primary asset categories at October&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.251%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Useful Life (in Years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;to&#160; 25&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;25 to&#160;40 &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 to 20&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 to 15&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leasehold improvements are depreciated over the shorter of their estimated useful lives or the term of the lease.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use the acquisition method to account for business combinations and, to the extent that the purchase price exceeds the fair value of the net assets acquired, we record goodwill. In accordance with U.S. GAAP, we are required to evaluate our goodwill at least annually. We perform our annual goodwill assessment as of August&#160;31, or more frequently if indicators of impairment exist. Qualitative factors that indicate impairment could include, but are not limited to, (i) macroeconomic conditions, (ii) industry and market considerations, (iii) cost factors, (iv) overall financial performance of the reporting unit, and (v) other relevant entity-specific events. The first step in our annual goodwill assessment is to perform the optional qualitative assessment allowed by ASC Topic 350 &#x201c;Intangibles - Goodwill and Other&#x201d; (ASC&#160;350). In our qualitative assessment, we evaluate relevant events or circumstances to determine whether it is more likely than not (i.e., greater than 50%) that the fair value of a reporting unit is less than its carrying amount. If we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, ASC 350 requires us to compare the fair value of such reporting unit to its carrying value including goodwill. To determine the fair value of our reporting units, we use multiple valuation techniques including a discounted cash flow analysis, using the applicable weighted average cost of capital, in combination with a market approach that uses market multiples and a selection of guideline public companies. This test requires us to make assumptions about the future growth of our business and the market in general, as well as other variables such as the level of investment in capital expenditure, growth in working capital requirements and the terminal or residual value of our reporting units beyond the periods of estimated annual cash flows. We use a third-party valuation firm to assist us with this analysis. If the fair value of each reporting unit exceeds its carrying value, no action is required. Otherwise, an impairment loss is recorded to the extent that the carrying amount of the reporting unit including goodwill exceeds the fair value of that reporting unit. We believe the estimates and assumptions used in our impairment assessment are reasonable based on available market information, but variations in any of the assumptions could result in materially different calculations of fair value and determinations of whether or not an impairment is indicated during current or future periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At our annual testing date, August 31, 2022, we had five reporting units with goodwill balances: two reporting units included in our NA Fenestration operating segment, two reporting units included in our EU Fenestration operating segment, and one reporting unit included in our NA Cabinet Components operating segment. We performed a qualitative assessment of one of the reporting units in the NA Fenestration segment and two of the reporting units in the EU Fenestration segment.  This review included an analysis of historical goodwill test results, operating results relative to forecast, projected results over the next five years, and other measures and concluded that there were no indicators of potential impairment associated with these reporting units.  Therefore, no additional testing was deemed necessary for these three reporting units. Also, at our annual testing date, we performed a quantitative assessment of the reporting unit in our NA Cabinet Components segment primarily due to the impairment of goodwill during the second and fourth quarters of 2019 and the history of a narrow margin of fair value above carrying value in quantitative assessments performed in prior years. We determined that the fair value of this reporting unit exceeded their carrying values by approximat&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ely 12.0%. &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;We also elected to update the quantitative assessment of the other reportable unit in the NA Fenestration operating segment. We determined that the fair value of this reporting unit exceeded their carrying values by approximat&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ely 384.9%. We concluded that no impairment was necessary.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Restructuring&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We accrue one-time severance costs pursuant to an approved plan of restructuring at the communication date, when affected employees have been notified of the potential severance and sufficient information has been provided for the employee to calculate severance benefits, in the event the employee is involuntarily terminated.  In addition, we accrue costs associated with the termination of contractual commitments including leases at the time the lease is terminated pursuant to the lease provisions or in accordance with another agreement with the landlord.  Otherwise, we continue to recognize lease expense through the cease-use date.  After the cease-use date, we determine if our operating lease payments are at market.  We assume sublet of the facility at the market rate.  To the extent our lease obligations exceed the fair value rentals, we discount to arrive at the present value and record a liability.  If the facility is not sublet, we expense the amount of the assumed sublet in the current period. For other costs directly related to the restructuring effort, such as equipment moving costs, we expense in the period incurred.   &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Insurance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We manage our exposure to losses for workers&#x2019; compensation, group medical, property, casualty and other insurance claims through a combination of self-insurance retentions and insurance coverage with third-party carriers. We record undiscounted liabilities associated with our portion of these exposures, which we estimate by considering various factors such as our historical claims experience, severity factors and estimated claims incurred but not reported, for which we have developed loss development factors, which are estimates as to how claims will develop over time until closed.  While we consider a number of factors in preparing the estimates, sensitive assumptions using significant judgment are made in determining the amounts that are accrued in the financial statements.  Actual claims could differ significantly from these estimated liabilities, depending on future claims experience.  We do not record insurance recoveries until any contingencies relating to the claim have been resolved.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Retirement Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sponsor a defined benefit pension plan and an unfunded postretirement plan that provides health care and life insurance benefits for a limited pool of eligible retirees and dependents. To measure our liabilities associated with these plans, we make assumptions related to future events, including expected return on plan assets, rate of compensation increases, and healthcare cost trend rates. The discount rate reflects the rate at which benefits could be effectively settled on the measurement date.  We determine our discount rate using a FTSE Above Median pension discount curve whereby target yields are developed from bonds across a range of maturity points, and a curve is fitted to those targets.  Spot rates (zero coupon bond yields) are developed from the curve and used to discount benefit payments associated with each future year.  Actual pension plan asset investment performance, as well as other economic experience such as discount rate and demographic experience, will either reduce or increase unamortized pension losses at the end of any fiscal year, which ultimately affects future pension costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Warranty Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We accrue warranty obligations when we recognize revenue for certain products. Our provision for warranty obligations is based on historical costs incurred for such obligations and is adjusted, where appropriate, based on current conditions and factors. Our ability to estimate our warranty obligations is subject to significant uncertainties, including changes in product design and our overall product sales mix.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record the estimated future tax effects of temporary differences between the tax basis of assets and liabilities and the amounts reported in our consolidated balance sheets, as well as net operating losses and tax credit carry forwards. We evaluate the carrying value of the net deferred tax assets and determine whether we will be able to generate sufficient future taxable income to realize our deferred tax assets. We perform this review for recoverability on a jurisdictional basis, whereby we consider both positive and negative evidence related to the likelihood of realization of the deferred tax assets. The weight given to the positive and negative evidence is commensurate with the extent to which the evidence can be objectively verified.  Cumulative losses in recent years is a significant piece of negative evidence that is difficult to overcome in determining that a valuation allowance is not needed against deferred tax assets.  Thus, it is generally difficult for positive evidence regarding projected future taxable income exclusive of reversing taxable temporary differences to outweigh objective negative evidence of recent financial reporting losses.  We believe we will fully realize our deferred tax assets, net of a recorded valuation allowance. We project future taxable income using the same forecasts used to test long-lived assets and intangibles for impairment, scheduling out the future reversal of existing taxable temporary differences and reviewing our most recent financial operations. In the event the estimates and assumptions indicate we will not generate sufficient future taxable income to realize our deferred tax assets, we record a valuation allowance against a portion of our deferred tax assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate our ongoing tax positions to determine if it is more-likely-than-not we will be successful in defending such positions if challenged by taxing authorities. To the extent that our tax positions do not meet the more-likely-than-not criteria, we record a liability for uncertain tax positions.  We have recorded a liability for uncertain tax positions which stem from certain federal and state tax items related to the interpretation of tax laws and regulations.  We continue to evaluate our positions regarding various state tax interpretations at each reporting date, until the applicable statute of limitations lapse.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 16, 2022, the Inflation Reduction Act of 2022 was enacted into U.S. law. We are continuing to evaluate the regulation but do not anticipate a material impact to our consolidated financial statements.   &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Derivative Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have historically used financial and commodity-based derivative contracts to manage our exposure to fluctuations in foreign currency exchange rates and aluminum prices. All derivatives are measured at fair value on a recurring basis.  We have not designated the derivative instruments we use as cash flow hedges under ASC Topic 815 &#x201c;Derivatives and Hedging&#x201d; (ASC 815). Therefore, all gains and losses, both realized and unrealized, are recognized in the consolidated statements of income (loss) in the period of the change as the underlying assets and liabilities are marked-to-market. We do not enter into derivative instruments for speculative or trading purposes. As such, these instruments are considered economic hedges, and are reflected in the operating activities section of the consolidated statements of cash flow. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency Translation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our consolidated financial statements are presented in our reporting currency, the United States Dollar. Our German and U.K. operations are measured using the local currency as the functional currency. The assets and liabilities of our foreign operations which are denominated in other currencies are translated to United States Dollars using the prevailing exchange rates as of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the applicable period. The resulting translation adjustments are recorded as a component of accumulated other comprehensive loss on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Occasionally, we enter into transactions that are denominated in currencies other than our functional currency. At each balance sheet date, we translate these asset or liability accounts to our functional currency and record unrealized transaction gains or losses.  When these assets or liabilities settle, we record realized transaction gains or losses. These realized and unrealized gains or losses are included in the accompanying consolidated statements of income under the caption, &#x201c;Other, net.&#x201d; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock&#x2013;Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have issued stock-based compensation in the form of stock options to directors, employees and officers, and non-vested restricted stock awards to certain key employees and officers. We apply the provisions of ASC Topic 718 &#x201c;Compensation - Stock Compensation&#x201d; (ASC 718), to determine the fair value of stock option awards on the date of grant using the Black-Scholes valuation model. We recognize the fair value as compensation expense on a straight-line basis over the requisite service period of the award based on awards ultimately expected to vest. Stock options granted to directors vest immediately while the stock options granted to our employees and officers typically vest ratably over a three-year period with service and continued employment as the vesting conditions. For new option grants to retirement-eligible employees, we recognize expense and vest immediately upon grant, consistent with the retirement vesting acceleration provisions of these grants. For employees near retirement age, we amortize such grants over the period from the grant date to the retirement-eligibility date if such period is shorter than the standard vesting schedule. For grants of non-vested restricted stock, we calculate the compensation expense at the grant date as the number of shares granted multiplied by the closing stock price of our common stock on the date of grant. This expense is recognized ratably over the vesting period. Our non-vested restricted stock grants to officers and employees cliff vest over a three-year period with service and continued employment as the only vesting criteria. Our fair value determination of stock-based payment awards on the date of grant using an option-pricing model is affected by our stock price as well as assumptions regarding a number of highly complex and subjective variables. These variables include, but are not limited to, our expected stock price volatility over the term of the awards, actual and projected employee stock option exercise behavior over the expected term, our dividend rate, risk-free rate and expectation with regards to forfeitures. Option-pricing models were developed for use in estimating the value of traded options that have no vesting or hedging restrictions and are fully transferable. Because our employee stock options have certain characteristics that are significantly different from traded options, and because changes in the subjective assumptions can materially affect the estimated value, the valuation models may not provide an accurate measure of the fair value of our employee stock options. Accordingly, that value may not be indicative of the fair value observed in a willing buyer/willing seller market transaction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have granted other awards which are linked to the performance of our common stock, but will settle in cash rather than the issuance of shares of our common stock. The value of these awards fluctuates with changes in our stock price, with the resulting gains or losses reflected in the period of the change. We have recorded current and non-current liabilities related to these awards reflected in the accompanying consolidated balance sheets at October&#160;31, 2022 and 2021. See Note&#160;13, &#x201c;Stock-based Compensation.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, we have granted performance share awards which use return on net assets as the vesting condition and the awards settle in cash.  We use a Monte Carlo simulation model to value the market condition and our stock price on the date of grant to value the internal performance condition and recognize expense ratably over the vesting period of three years. We esti&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;mate that the performance measures will be met and shares will vest at target until the year of settlement (third year of cliff &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;vesting).  As of October&#160;31, 2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, we have deemed 101,200 performance share awards related to the December 2019 grants as probable to vest. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have also granted performance restricted stock units which settle in shares upon vesting.  These awards cliff vest upon a three-year service period with the absolute performance of our common stock as the vesting criteria.  The number of performance restricted stock units earned is variable depending on the metric achieved, and the settlement method is 100% in our common stock, with accrued dividends paid in cash at the time of vesting, assuming the shares had been outstanding throughout the performance period.  To value the performance restricted stock units, we use a Monte Carlo simulation model to arrive at a grant-date fair value.  This amount will be adjusted for forfeitures and expensed over the three-year term of the award with a credit to additional paid-in-capital.  Similar to performance shares, the performance restricted stock units are not considered outstanding shares, do not have voting rights, and are excluded from diluted weighted-average shares used to calculate earnings per share until the performance criteria is probable to result in the issuance of contingent shares.  As of October&#160;31, 2022, we have deemed &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32,680&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; shares related to the December &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2019&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; grants of performance restricted stock units as probable to vest. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Treasury Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use the cost method to record treasury stock purchases whereby the entire cost of the acquired shares of our common stock is recorded as treasury stock (at cost). When we subsequently reissue these shares, proceeds in excess of cost upon the issuance of treasury shares are credited to additional paid-in-capital, while any deficiency is charged to retained earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Earnings per Share Data&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculate basic earnings per share based on the weighted average number of our common shares outstanding for the applicable period. We calculate diluted earnings per share based on the weighted average number of our common shares outstanding for the period plus all potentially dilutive securities using the treasury stock method, whereby we assume that all such shares are converted into common shares at the beginning of the period, if deemed to be dilutive. If we incur a loss from continuing operations, the effects of potentially dilutive common stock equivalents (stock options and unvested restricted stock awards) are excluded from the calculation of diluted earnings per share because the effect would be anti-dilutive. Performance shares and performance restricted stock units are excluded from contingent shares for purposes of calculating diluted weighted average shares until the performance measure criteria is probable and shares are likely to be issued.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Supplemental Cash Flow Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our supplemental cash flow information for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.773%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.673%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for interest&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,715&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid 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:10pt;font-weight:400;line-height:100%"&gt;26,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,118&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Cash received from income tax refunds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;352&#160;&lt;/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:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Noncash 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(Decrease) increase in capitalized expenditures in accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,692)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,370&#160;&lt;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Related Party Transactions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;N&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;et sales for the year ended October&#160;31, 2022 included approxim&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ately $1.9&#160;million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of transactions with a customer which is a related party with one of our non-employee directors. We performed a review of these transactions, of which no single transaction or series of related transactions exceeded $120,000 in amount, and determined that these transactions were enacted independently of each other in fair transactions. We are not aware of any other related party transactions with any of our current non-employee directors or officers outside of their normal business functions or expected contractual duties.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Subsequent&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; Events &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have evaluated events occurring after the balance sheet date for possible disclosure as a subsequent event through the&lt;/span&gt;&lt;/div&gt;date the financial statements were issued.  For additional discussion of our subsequent events, see Note 20, &#x201c;Subsequent Events.&#x201d;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfOTQ0_08e4a9ad-39cd-4099-9b1a-da34cf117117"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2MDU_38c11d12-e765-4570-a6d1-e0e6e05b686d">Basis of Presentation and Principles of ConsolidationOur consolidated financial statements have been prepared by us in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP). We consolidate our wholly-owned subsidiaries and eliminate intercompany sales and transactions. We have no cost or equity investments in companies that are not wholly-owned. In our opinion, these audited financial statements contain all adjustments necessary to fairly present our financial position, results of operations and cash flows for the periods presented.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NDI_5b1381cb-ace6-4f89-b5e9-3a8828594fff">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing financial statements, we make informed judgments and estimates that affect the reported amounts of assets and liabilities as of the date of the financial statements and affect the reported amounts of revenues and expenses during the reporting period. We review our estimates on an ongoing basis, including those related to impairment of long lived assets and goodwill, pension and retirement liabilities, contingencies and income taxes. Changes in facts and circumstances may result in revised estimates and actual results may differ from these estimates. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our significant accounting policies consistently applied in the preparation of the accompanying consolidated financial statements follows:&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueRecognitionDeferredRevenue
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NjM_b46d4614-6f5d-41d2-8fa7-2b0472ce2060">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue from Contracts with Customers&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue that reflects the consideration we expect to receive for product sales upon transfer to customers. Revenue for product sales is recognized when control of the promised products is transferred to our customers, and we are entitled to consideration in exchange for such transfer. We account for a contract when a customer provides us with a firm purchase order that identifies the products to be provided, the payment terms for those products, and when collectability of the consideration due is probable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:103%"&gt;Performance obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A performance obligation is a promise to provide the customer with a good or service. Our performance obligations include product sales, with each product included in a customer contract being recognized as a separate performance obligation.  For contracts with multiple performance obligations, the standalone selling price of each product is generally readily observable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue from product sales is recognized at a point in time when the product is transferred to the customer, in accordance with the shipping terms, which is generally upon shipment. We estimate a provision for sales returns and warranty allowances to acc&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ount for product returns related to general returns and product nonconformance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally expense incremental costs of obtaining a contract when incurred because the amortization period would be less than one year.  Additionally, we do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Pricing and sales i&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;ncentives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pricing is established at or prior to the time of sale with our customers and we record sales at the agreed-upon net selling price, reflective of current and prospective discounts.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Shipping and handling cost&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;s&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for shipping and handling services as fulfillment services; accordingly, freight revenue is combined with the product deliverable rather than being accounted for as a distinct performance obligation within the terms of the agreement.  Shipping and handling costs incurred by us for the delivery of goods to customers are considered a cost to fulfill the contract and are included in cost of sales in the accompanying consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Contract assets and liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue, which is not significant, is recorded when we have remaining unsatisfied performance obligations for which we have received consideration. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Disaggregation of revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We produce a wide variety of products that are used in the fenestration industry, including insulating glass spacer systems; extruded vinyl products; metal fabricated products; and astragals, thresholds and screens. In addition, we produce certain non-fenestration products, including kitchen and bath cabinet doors and components, flooring and trim moldings, solar edge tape, plastic decking, fencing, water retention barriers, conservatory roof components, and other products. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our product sales for the three years ended October&#160;31, 2022, 2021, and 2020 into groupings by segment which we believe depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by economic factors.  For further details regarding our results by segment, refer to Note 16, &#x201c;Segment Information.&#x201d;&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;NA Fenestration:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;609,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;507,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;427,616&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,279&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,935&#160;&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;578,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;EU Fenestration:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,432&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,622&#160;&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;NA Cabinet Components:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,842&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,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:10pt;font-weight:400;line-height:100%"&gt;196,479&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210,099&#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:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:RevenueRecognitionDeferredRevenue>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2NDU_55b46d90-bd8b-420d-9674-aad311637a4b">The following table summarizes our product sales for the three years ended October&#160;31, 2022, 2021, and 2020 into groupings by segment which we believe depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by economic factors.  For further details regarding our results by segment, refer to Note 16, &#x201c;Segment Information.&#x201d;&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;NA Fenestration:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;609,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;507,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;427,616&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,279&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,941&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,935&#160;&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;578,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;EU Fenestration:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,511&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,432&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,622&#160;&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;NA Cabinet Components:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,842&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,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:10pt;font-weight:400;line-height:100%"&gt;196,479&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210,099&#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:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:Revenues
      contextRef="if4776d732cf942bc99328997244c8ba4_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNC0xLTEtMS0zOTE1Nw_c013fafe-ee80-47bf-9009-a511c43c729f"
      unitRef="usd">609572000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i90f2568b27b44bd18b99fc5b7ad06264_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNC0zLTEtMS0zOTE1Nw_6c7d9451-8db0-479d-bfde-e0ded789696a"
      unitRef="usd">507634000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i07e8ad5317d0446994720d8beadd7fb3_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNC01LTEtMS0zOTE1Nw_87147c1d-34a5-44c4-a9f7-e37fe1ae44dc"
      unitRef="usd">427616000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i66f03e6d108444b1a2ef19633c30b90b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNS0xLTEtMS0zOTE1Nw_f8123ea0-06e2-44cd-9cc9-70e126fa09ad"
      unitRef="usd">35906000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0d94f6645b6f46be990cde3c0f639005_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNS0zLTEtMS0zOTE1Nw_cdb37538-079e-4504-95bd-32bbd0135636"
      unitRef="usd">34610000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i999f973d9227443d91eedf153aa03cb8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNS01LTEtMS0zOTE1Nw_8afa940e-d8bb-4ba1-a839-85102367a380"
      unitRef="usd">28585000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i83f81e89e4e240d4b9a3dc1a8efe9858_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNi0xLTEtMS0zOTE1Nw_93beb59e-6b64-41c8-9d5a-e923e2af8f2e"
      unitRef="usd">29039000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i2de073911349490aaf31e5499f856256_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNi0zLTEtMS0zOTE1Nw_eebf6007-41ae-4b69-877e-654dd0836ff8"
      unitRef="usd">24534000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i95140420ff524518aa2610c918a699f3_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNi01LTEtMS0zOTE1Nw_1a51e9c5-d319-44c2-9eff-50cfa9de9218"
      unitRef="usd">19279000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i42817f24acab4ca8910bb503dcb0a8fa_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNy0xLTEtMS0zOTE1Nw_ea672bd1-7a2c-4df3-91a8-39033af14c73"
      unitRef="usd">12941000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i042997aaa2754477a0278b8f02e10a80_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNy0zLTEtMS0zOTE1Nw_6f045450-014c-428d-b459-ae168c38b9f5"
      unitRef="usd">11554000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i739fd54842834ebba16d3e1c070394d7_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfNy01LTEtMS0zOTE1Nw_99167197-8b3b-4944-879c-cbddc57411aa"
      unitRef="usd">7935000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfOC0xLTEtMS0zOTE1Nw_50129f16-e262-42db-b0a2-d8c9def53810"
      unitRef="usd">687458000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ie3da1826779f480aab537d9118f5824f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfOC0zLTEtMS0zOTE1Nw_4d447001-b71f-45f1-ad7f-4346d73222b3"
      unitRef="usd">578332000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="iefa0b3f284e949ed9443ad3d037ea2f2_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfOC01LTEtMS0zOTE1Nw_9387125b-c315-49d0-b9f4-49bbdf1d1891"
      unitRef="usd">483415000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i50bba880ac0e4244b288db10398185cd_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTEtMS0xLTEtMzkxNTc_f53fc392-7cf1-4efe-9aa8-92687a2fefb1"
      unitRef="usd">194854000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ib670d43a601a4b8192914415248ea0d6_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTEtMy0xLTEtMzkxNTc_90e4dfac-ba6a-48a1-bb88-3fd9acf162c9"
      unitRef="usd">199511000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i2fb4395df17b47379904bdec2851bd0f_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTEtNS0xLTEtMzkxNTc_b80266d1-8912-4e9f-b491-91132618d81e"
      unitRef="usd">134432000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i6c171d91026743f4937e07b6cb97729a_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTItMS0xLTEtMzkxNTc_6040c7cd-77fc-4130-980b-738515b77a3d"
      unitRef="usd">67204000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0ccf8ea5083844ba88f8d72b7f2df71f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTItMy0xLTEtMzkxNTc_5ba2de5a-556d-4c4c-b9e9-e76506b8d139"
      unitRef="usd">52088000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i466b23712cc8403ab7f2519736d8d125_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTItNS0xLTEtMzkxNTc_3fef5da6-98fd-480b-8a50-ffbab488d8b5"
      unitRef="usd">26622000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="iafc0c4cc290c4bb984d57252044d3462_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTMtMS0xLTEtMzkxNTc_a7634b16-9b25-4660-ad76-37e43841b54c"
      unitRef="usd">262058000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic2af379ea1114bd7aad31d0eb5040cf5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTMtMy0xLTEtMzkxNTc_d28515c7-78fc-40ff-93cd-235d46c480b6"
      unitRef="usd">251599000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i88ea2f9d5b9f4f8fa262797308c4c0eb_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTMtNS0xLTEtMzkxNTc_3d716eaf-756a-4dde-b8f9-6730cffd6c6c"
      unitRef="usd">161054000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i04ef41746d76456ab4d1293623cb964c_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTUtMS0xLTEtMzkxNTc_6b76844f-0114-44c7-84d6-0c5c486df212"
      unitRef="usd">17696000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic84db226f1ec42e99e49ec68b2a79613_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTUtMy0xLTEtMzkxNTc_1f9eec84-642d-422d-8dab-447e4b053181"
      unitRef="usd">13326000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if5f7fcec229b48d19409a38d1d8c4921_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTUtNS0xLTEtMzkxNTc_bcb43c7c-71ea-437a-ae4a-9d58abc675ef"
      unitRef="usd">11842000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ied384facea7148d1997ddcae576dcc61_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTYtMS0xLTEtMzkxNTc_33af168f-f694-4d1e-8224-b699afb09dea"
      unitRef="usd">254726000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i199d8fb7e061492fab63844420451445_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTYtMy0xLTEtMzkxNTc_d4e8afcb-7714-4b25-ba28-cc7aa86f94f4"
      unitRef="usd">230559000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i26f5d41775f34c16be33ad0e8bbaf06c_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTYtNS0xLTEtMzkxNTc_b1f0e6d8-537d-4841-9146-6378aa9fac01"
      unitRef="usd">196479000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ifa92b5bf7287494aa8b9aca71d178a30_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTctMS0xLTEtMzkxNTc_c6ad8fdf-dd1d-4207-a847-b16a554f2f3e"
      unitRef="usd">3282000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ifc2bdc04e3b04b0b84224b01efbb61a5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTctMy0xLTEtMzkxNTc_1276ee35-6ea1-42a2-88b9-67a14e050d09"
      unitRef="usd">2190000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i7fd044a34687493d90524d25abc33e1c_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTctNS0xLTEtMzkxNTc_36382a9e-0ae8-4874-bd0d-a51b225b857b"
      unitRef="usd">1778000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i07df771895a340428470496ea6d0e050_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTgtMS0xLTEtMzkxNTc_746e19ea-ad5b-4fda-b129-08cea1e49c02"
      unitRef="usd">275704000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTgtMy0xLTEtMzkxNTc_8413422a-6d02-44d7-a421-1a1462869f99"
      unitRef="usd">246075000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i37fcf93183be4d6da99ee0dd86e50743_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMTgtNS0xLTEtMzkxNTc_21385aaa-0cb6-4ac4-b380-1274fa4553af"
      unitRef="usd">210099000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i11e550976d6d4537956b7ab8decac18e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjAtMS0xLTEtMzkxNTc_4ba3da10-dc43-4666-b7d0-336e4ab5ab32"
      unitRef="usd">-3718000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i44e32abc8eb34ba1aaa936757b78fe09_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjAtMy0xLTEtMzkxNTc_59023d12-fbb5-4dc0-a91c-b80fd74a259d"
      unitRef="usd">-3857000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i93cc7bcd3d3744b8923b060e8412aea2_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjAtNS0xLTEtMzkxNTc_41694b98-e8d5-4d6b-88df-5545d27a21d0"
      unitRef="usd">-2995000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjEtMS0xLTEtMzkxNTc_c14a8ce0-2bb3-48a5-a4a4-3a01f092b7c5"
      unitRef="usd">-3718000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjEtMy0xLTEtMzkxNTc_43a1b15c-475c-4232-8b08-380ff01a84ac"
      unitRef="usd">-3857000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i349ebb06cb1e4c6b8cc6fa48b0f6b3e8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjEtNS0xLTEtMzkxNTc_f16d7bd6-127f-454f-a773-1a7c6c33f828"
      unitRef="usd">-2995000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjItMS0xLTEtMzkxNTc_b53e998a-1fa5-441d-b4f1-fcdb77419ea2"
      unitRef="usd">1221502000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjItMy0xLTEtMzkxNTc_222f26a2-ee3c-431b-9949-260246df273b"
      unitRef="usd">1072149000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjYyNjViNTM4NTYzNTRmMjM4YTc3NTNhNTIyZDRjMGU1L3RhYmxlcmFuZ2U6NjI2NWI1Mzg1NjM1NGYyMzhhNzc1M2E1MjJkNGMwZTVfMjItNS0xLTEtMzkxNTc_ec26a471-8460-4575-90a3-363b51893136"
      unitRef="usd">851573000</us-gaap:Revenues>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1MzQ_60da2511-b4ce-4911-8a95-425c46237f46">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash equivalents include all highly liquid investments with an original maturity of three months or less. Such securities with an original maturity which exceeds three months are deemed to be short-term investments.  We maintain cash and cash equivalents at several financial institutions, which at times may not be federally insured or may exceed federally insured limits. We have not experienced any losses in such accounts and believe we are not exposed to any significant credit risks on such accounts.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <nx:ConcentractionCreditRiskandAllowancePolicyPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2NTQ_54397783-91e5-4ad7-98f5-16e4d7aed2a3">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Concentration of Credit Risk and Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain of our businesses or product lines are largely dependent on a relatively few large customers.  Although we believe we have an exte&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;nsive customer base, the loss of one of these large customers or if such customers were to incur a prolonged period of decline in business, our financial condition and results of operations could be adversely affected.  For the years ended October&#160;31, 2022 and 2020, one customer provided more than 10% of our consolidated net sales.  For the year ended October&#160;31, 2021, no customer provided more than 10% of our consolidated net sales. &lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; We have establishe&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;d an allowance for credit losses to estimate the risk of loss associated with our accounts receivable balances.  Our policy for determining the allowance is based on factors that affect collectability, including: (a) historical trends of write-offs, recoveries and credit losses; (b) the credit quality of our customers; and (c) projected economic and market conditions.  We believe our allowance is adequate to absorb any known or probable lo&lt;/span&gt;sses as of October&#160;31, 2022.  Different assumptions or changes in economic circumstances could result in changes to the allowance.</nx:ConcentractionCreditRiskandAllowancePolicyPolicyTextBlock>
    <nx:ConcentrationRiskNumberofMajorCustomersLostWhoCouldAdverselyAffectBusiness
      contextRef="i96c320a67b464ab3ba8962e744e7b4cb_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfNzM1NA_120de503-e900-4d37-9550-14f888c6cd5b"
      unitRef="customer">1</nx:ConcentrationRiskNumberofMajorCustomersLostWhoCouldAdverselyAffectBusiness>
    <nx:ConcentrationRiskNumberOfCustomers
      contextRef="i4a2e415642a644ffa2f925c9f34011ed_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfNzU3Nw_985839ff-b8fc-4491-81f4-dd324a9d2ec9"
      unitRef="customer">1</nx:ConcentrationRiskNumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4c3ab1c7808a4337b73ae1a8a6d68a7a_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfNzYwOQ_77e5ff84-a140-43d2-889c-a23a33ed32e0"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <nx:ConcentrationRiskNumberOfCustomers
      contextRef="ib9a5eebf16154cb78e7d608eb6a91c92_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfNzY4MQ_c858f0c5-d002-4664-943e-dae6cec31891"
      unitRef="customer">0</nx:ConcentrationRiskNumberOfCustomers>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1OTA_614a0c5b-7c00-4e7b-b882-5764f2bdb9a2">Business CombinationsWe apply the acquisition method of accounting for business combinations, which requires us to make use of estimates and judgments to allocate the purchase price paid for acquisitions to the fair value of the assets and liabilities acquired.  We account for contingent assets and liabilities at fair value on the acquisition date, and record changes to fair value associated with these assets and liabilities as a period cost as incurred. We use established valuation techniques and engage reputable valuation specialists to assist us with these valuations.  However, there is a risk that we may not identify all pre-acquisition contingencies or that our estimates may not reflect the actual results when realized.  We use a reasonable measurement period to record any adjustment related to the opening balance sheet (generally, less than one year).  After the measurement period, changes to the opening balance sheet can result in the recognition of income or expense as period costs.  To the extent these items stem from contingencies that existed at the balance sheet date, but are contingent upon the realization of future events, the cost is charged to expense at the time the future event becomes known.</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1MzU_beea352f-b448-42f7-88eb-b78c3dd68681">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Inventory&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record inventory at the lower of cost or net realizable value. Inventories are valued using the first-in first-out (FIFO) method.  Fixed costs related to excess manufacturing capacity are evaluated and expensed in the period, to ensure that inventory is properly capitalized. Inventory quantities are regularly reviewed and provisions for excess or obsolete inventory are recorded primarily based on our forecast of future demand and our estimates regarding current and future market conditions. Significant unanticipated variances to our forecasts could require a change in the provision for excess or obsolete inventory, resulting in a charge to net income during the period of the change.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1Mjc_d73b93cb-6e87-4711-abc8-0a0bc00b063b">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-Lived Assets &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Property, Plant and Equipment and Intangible Assets with Defined Lives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We make judgments and estimates related to the carrying value of property, plant and equipment, intangible assets with defined lives, and long-lived assets, which include determining when to capitalize costs, the depreciation and amortization methods to use and the useful lives of these assets. We evaluate these assets for impairment when there are indicators that the carrying values of these assets might not be recoverable. Such indicators of impairment may include changes in technology, significant market fluctuations, historical losses or loss of a significant customer, or other changes in circumstance that could affect the assets&#x2019; ability to generate future cash flows. When we evaluate these assets for impairment, we compare the sum of the undiscounted cash flows expected to result from the use and eventual disposition of the asset to its carrying value. If the carrying value exceeds the sum of the undiscounted cash flows, and there is no alternative use for the asset, we determine that the asset is impaired. To measure the impairment charge, we compare the carrying amount of the long-lived asset to its fair value, as determined by quoted market prices in active markets, if available, or by discounting the projected future cash flows. This calculation of fair value requires us to develop and employ long-term forecasts of future operating results related to these assets. These forecasts are based on assumptions about demand for our products and future market conditions. Future events and unanticipated changes to these assumptions could require a provision for impairment, resulting in a charge to net income during the period of the change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We monitor relevant circumstances, including industry trends, general economic conditions, and the potential impact that such circumstances might have on the valuation of our identifiable intangible assets with finite lives. Events and changes in circumstance that may cause a triggering event and necessitate such a review include, but are not limited to: a decrease in sales for certain customers, improvements or changes in technology, and/or a decision to discontinue the use of a trademark or trade name, or to allow a patent to lapse. Such events could negatively impact the fair value of our identifiable intangible assets. In such circumstances, we may evaluate the underlying assumptions and estimates made by us in order to assess the appropriate valuation of these identifiable intangible assets and compare to the carrying value of the assets. We may be required to write down these identifiable intangible assets and record a non-cash impairment charge. When we originally value our intangible assets, we use a variety of techniques to establish the carrying value of the assets, including the relief from royalty method, excess current year earnings method and income method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The World Health Organization's (WHO), declaration of COVID-19 as a global pandemic also created significant changes in market conditions throughout 2020 that have continued into 2021. We determined that these conditions were indicators of a triggering event in 2020 which necessitated an evaluation of certain long-term assets used in these businesses for potential impairment. We compared the projected undiscounted cash flows we expected to realize associated with these assets over the remaining useful lives of the primary operating assets to the net book value of the long-term assets, including goodwill, and determined that these assets were not impaired.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended October 31, 2022, our North American vinyl extrusion operations in our NA Fenestration segment experienced lower-than-expected operating results due to the continued impact of inflation and historical customer contracts which prevent us from passing on the full impact of higher costs to our customers. We determined that this condition was an indicator of a triggering event which necessitated an evaluation of certain long-term assets used in this business for potential impairment. We compared the projected undiscounted cash flows we expected to realize associated with these assets over the remaining useful lives of the primary operating assets to the net book value of the long-term assets and determined that these assets were not impaired. Should we be unable to successfully increase prices to offset inflation, it is possible that we could incur an impairment in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no indicators of triggering events noted for any period in the year ended October 31, 2021. Therefore, we did not record an impairment charge related to property, plant and equipment or intangible assets with defined lives during the years ended October 31, 2022, 2021 and 2020.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development costs, including costs incurred to purchase third-party software, are capitalized when we have determined that the technology is capable of meeting our performance requirements, and we have authorized funding for the project. We cease capitalization of software costs when the software is substantially complete and is ready for its intended use.  The software is then amortized over its estimated useful life. When events or circumstances indicate the carrying value of internal use software might not be recoverable, we assess the recoverability of these assets by comparing the carrying value of the asset to the undiscounted future cash flows expected to be generated from the asset&#x2019;s use, consistent with the methodology to test other property, plant and equipment for impairment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant and equipment is stated at cost and is depreciated using the straight-line method over the estimated useful lives of the assets. We capitalize betterments which extend the useful lives or significantly improve the operational efficiency of assets. We expense repair and maintenance costs as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated useful lives of our primary asset categories at October&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.251%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Useful Life (in Years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;to&#160; 25&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;25 to&#160;40 &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 to 20&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 to 15&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leasehold improvements are depreciated over the shorter of their estimated useful lives or the term of the lease.&lt;/span&gt;&lt;/div&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock>
    <nx:PropertyAssetsUsefulLifeTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1Nzc_08d36200-2e38-4498-938c-fd066b06c56a">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated useful lives of our primary asset categories at October&#160;31, 2022 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.251%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Useful Life (in Years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;to&#160; 25&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;25 to&#160;40 &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 to 20&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 to 15&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</nx:PropertyAssetsUsefulLifeTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i6264e6adb001417b96a535d14491dc8c_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfMS0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOjA5MDBiOWFlZGVmNzRhMmZiOTRmN2YyMDMwMTkwZDAyXzQ_5fa3a4bf-1236-4bf1-88a8-dba0de56089c">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ib17d4954224e4112b47a49fb3656d411_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfMS0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOjA5MDBiOWFlZGVmNzRhMmZiOTRmN2YyMDMwMTkwZDAyXzEx_a7904212-f192-4158-a763-aa93789f6675">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i8fc6ddd8eda9476284d8710e61abe2ff_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfMi0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmQzZDU4NzExMzBkOTQxMThiOTdjMDVhMDFmMGNiMjE4XzU_b32e3417-ad2c-4936-be0c-91d0335aebb8">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i186a028a03634d6f9f5dcb57272894f9_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfMi0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmQzZDU4NzExMzBkOTQxMThiOTdjMDVhMDFmMGNiMjE4XzEx_973dfceb-b1e8-47c2-8cd7-72bd17d8a2d6">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i5e593eeb08ec46b9952bd654617ea797_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfMy0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmM4OTE5MTU5ZmY4MTRmYmQ4NTViNzRmYmY4MmEzNDQxXzQ_d4363baa-f24d-4d4a-b1ec-36660d128f57">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i687fe554c1bf4bdf99b319ad1b0632eb_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfMy0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmM4OTE5MTU5ZmY4MTRmYmQ4NTViNzRmYmY4MmEzNDQxXzEw_9af1bf27-1866-4f2e-8ce7-6560fe20f129">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i5ca27dfdc9ca458693c959191a1c08cc_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfNC0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmY4ZDIyOTViNmM0NzQxZDBhOTJkOGUwOTBkMTQwNjc1XzQ_62d9f570-aa84-4304-95d1-4807f4f78390">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i9483834716b14e89afdff924938e27f7_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjI3Y2E3ZDA5YTVlYzRkNGZhYjg1MjliMDQ4ZjAyMTlhL3RhYmxlcmFuZ2U6MjdjYTdkMDlhNWVjNGQ0ZmFiODUyOWIwNDhmMDIxOWFfNC0xLTEtMS0zOTE1Ny90ZXh0cmVnaW9uOmY4ZDIyOTViNmM0NzQxZDBhOTJkOGUwOTBkMTQwNjc1XzEw_cea26d39-a381-4324-83be-e9125e4e73e1">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1Mjg_0ab73834-30a6-411c-b687-027dbf633726">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use the acquisition method to account for business combinations and, to the extent that the purchase price exceeds the fair value of the net assets acquired, we record goodwill. In accordance with U.S. GAAP, we are required to evaluate our goodwill at least annually. We perform our annual goodwill assessment as of August&#160;31, or more frequently if indicators of impairment exist. Qualitative factors that indicate impairment could include, but are not limited to, (i) macroeconomic conditions, (ii) industry and market considerations, (iii) cost factors, (iv) overall financial performance of the reporting unit, and (v) other relevant entity-specific events. The first step in our annual goodwill assessment is to perform the optional qualitative assessment allowed by ASC Topic 350 &#x201c;Intangibles - Goodwill and Other&#x201d; (ASC&#160;350). In our qualitative assessment, we evaluate relevant events or circumstances to determine whether it is more likely than not (i.e., greater than 50%) that the fair value of a reporting unit is less than its carrying amount. If we determine that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, ASC 350 requires us to compare the fair value of such reporting unit to its carrying value including goodwill. To determine the fair value of our reporting units, we use multiple valuation techniques including a discounted cash flow analysis, using the applicable weighted average cost of capital, in combination with a market approach that uses market multiples and a selection of guideline public companies. This test requires us to make assumptions about the future growth of our business and the market in general, as well as other variables such as the level of investment in capital expenditure, growth in working capital requirements and the terminal or residual value of our reporting units beyond the periods of estimated annual cash flows. We use a third-party valuation firm to assist us with this analysis. If the fair value of each reporting unit exceeds its carrying value, no action is required. Otherwise, an impairment loss is recorded to the extent that the carrying amount of the reporting unit including goodwill exceeds the fair value of that reporting unit. We believe the estimates and assumptions used in our impairment assessment are reasonable based on available market information, but variations in any of the assumptions could result in materially different calculations of fair value and determinations of whether or not an impairment is indicated during current or future periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At our annual testing date, August 31, 2022, we had five reporting units with goodwill balances: two reporting units included in our NA Fenestration operating segment, two reporting units included in our EU Fenestration operating segment, and one reporting unit included in our NA Cabinet Components operating segment. We performed a qualitative assessment of one of the reporting units in the NA Fenestration segment and two of the reporting units in the EU Fenestration segment.  This review included an analysis of historical goodwill test results, operating results relative to forecast, projected results over the next five years, and other measures and concluded that there were no indicators of potential impairment associated with these reporting units.  Therefore, no additional testing was deemed necessary for these three reporting units. Also, at our annual testing date, we performed a quantitative assessment of the reporting unit in our NA Cabinet Components segment primarily due to the impairment of goodwill during the second and fourth quarters of 2019 and the history of a narrow margin of fair value above carrying value in quantitative assessments performed in prior years. We determined that the fair value of this reporting unit exceeded their carrying values by approximat&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ely 12.0%. &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;We also elected to update the quantitative assessment of the other reportable unit in the NA Fenestration operating segment. We determined that the fair value of this reporting unit exceeded their carrying values by approximat&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ely 384.9%. We concluded that no impairment was necessary.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:NumberOfReportingUnits
      contextRef="i0a836e4ffcc44449b17e6276eab9e081_D20200831-20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTg3NzI_624611cf-0c21-4d80-be09-0e343ce86a09"
      unitRef="reporting_unit">5</us-gaap:NumberOfReportingUnits>
    <us-gaap:NumberOfReportingUnits
      contextRef="i5d6a3c55152b46bfb9fa10ac2e8c490e_D20200831-20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTg4MTU_499ac4a1-7449-49d6-a83f-b703df44e1cf"
      unitRef="reporting_unit">2</us-gaap:NumberOfReportingUnits>
    <us-gaap:NumberOfReportingUnits
      contextRef="i6fb234ef97f241fb9125ef6734bb27ea_D20200831-20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTg4ODU_e6126148-451a-40c9-b73d-fa7052f66509"
      unitRef="reporting_unit">2</us-gaap:NumberOfReportingUnits>
    <us-gaap:NumberOfReportingUnits
      contextRef="ie297756702cf4220aca300376e558663_D20200831-20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTg5NTk_a51ab8da-4e5a-4ebc-958e-70684923d88d"
      unitRef="reporting_unit">1</us-gaap:NumberOfReportingUnits>
    <nx:NumberOfReportingUnitsPerformedQuantitativeAssessment
      contextRef="i7b18e5e5ac63406d820e24b68d05a16c_I20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTkwNzk_6f77b769-af0f-48e1-b2b7-4eb1b110fec2"
      unitRef="reporting_unit">1</nx:NumberOfReportingUnitsPerformedQuantitativeAssessment>
    <nx:NumberOfReportingUnitsPerformedQuantitativeAssessment
      contextRef="i15a3cfc47ef341819bd1008eafa09a17_I20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTkxMzM_638113df-0801-48d7-b530-39f6edb4082a"
      unitRef="reporting_unit">2</nx:NumberOfReportingUnitsPerformedQuantitativeAssessment>
    <nx:NumberOfReportingUnitsPerformedQuantitativeAssessment
      contextRef="i01709eba3e40483ebbbf0231449c3dca_I20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTk1Mzc_487dfe44-d5cc-4aab-8fd6-03269481f53d"
      unitRef="reporting_unit">3</nx:NumberOfReportingUnitsPerformedQuantitativeAssessment>
    <us-gaap:ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount
      contextRef="if04bb45b6f68427ea40a69ac7ab40b67_I20200831"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfNTQ4NTI_8607bc01-59bf-4bc2-abc9-d63e495cda4e"
      unitRef="number">0.120</us-gaap:ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount>
    <us-gaap:ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount
      contextRef="i15a3cfc47ef341819bd1008eafa09a17_I20200831"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMjAxNDk_6867f6ac-1a8a-4412-943e-82b4ddeb9bb1"
      unitRef="number">3.849</us-gaap:ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount>
    <us-gaap:CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2MzU_57e56575-2bfb-49c6-ba45-10f3f35464a6">RestructuringWe accrue one-time severance costs pursuant to an approved plan of restructuring at the communication date, when affected employees have been notified of the potential severance and sufficient information has been provided for the employee to calculate severance benefits, in the event the employee is involuntarily terminated.  In addition, we accrue costs associated with the termination of contractual commitments including leases at the time the lease is terminated pursuant to the lease provisions or in accordance with another agreement with the landlord.  Otherwise, we continue to recognize lease expense through the cease-use date.  After the cease-use date, we determine if our operating lease payments are at market.  We assume sublet of the facility at the market rate.  To the extent our lease obligations exceed the fair value rentals, we discount to arrive at the present value and record a liability.  If the facility is not sublet, we expense the amount of the assumed sublet in the current period. For other costs directly related to the restructuring effort, such as equipment moving costs, we expense in the period incurred.</us-gaap:CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock>
    <us-gaap:LiabilityReserveEstimatePolicy
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2MjU_a17eaa1f-7cc7-4dad-80fa-198ae15787bd">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Insurance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We manage our exposure to losses for workers&#x2019; compensation, group medical, property, casualty and other insurance claims through a combination of self-insurance retentions and insurance coverage with third-party carriers. We record undiscounted liabilities associated with our portion of these exposures, which we estimate by considering various factors such as our historical claims experience, severity factors and estimated claims incurred but not reported, for which we have developed loss development factors, which are estimates as to how claims will develop over time until closed.  While we consider a number of factors in preparing the estimates, sensitive assumptions using significant judgment are made in determining the amounts that are accrued in the financial statements.  Actual claims could differ significantly from these estimated liabilities, depending on future claims experience.  We do not record insurance recoveries until any contingencies relating to the claim have been resolved.&lt;/span&gt;&lt;/div&gt;</us-gaap:LiabilityReserveEstimatePolicy>
    <us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NDM_12307168-4efc-4971-a583-2f5ad7af6401">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Retirement Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sponsor a defined benefit pension plan and an unfunded postretirement plan that provides health care and life insurance benefits for a limited pool of eligible retirees and dependents. To measure our liabilities associated with these plans, we make assumptions related to future events, including expected return on plan assets, rate of compensation increases, and healthcare cost trend rates. The discount rate reflects the rate at which benefits could be effectively settled on the measurement date.  We determine our discount rate using a FTSE Above Median pension discount curve whereby target yields are developed from bonds across a range of maturity points, and a curve is fitted to those targets.  Spot rates (zero coupon bond yields) are developed from the curve and used to discount benefit payments associated with each future year.  Actual pension plan asset investment performance, as well as other economic experience such as discount rate and demographic experience, will either reduce or increase unamortized pension losses at the end of any fiscal year, which ultimately affects future pension costs.&lt;/span&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1ODA_a52e5717-19be-4ed5-915b-d8abea3e2e3d">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Warranty Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We accrue warranty obligations when we recognize revenue for certain products. Our provision for warranty obligations is based on historical costs incurred for such obligations and is adjusted, where appropriate, based on current conditions and factors. Our ability to estimate our warranty obligations is subject to significant uncertainties, including changes in product design and our overall product sales mix.&lt;/span&gt;&lt;/div&gt;</us-gaap:StandardProductWarrantyPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1OTE_e0d625f9-9be4-4fe1-b545-454beae45e13">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record the estimated future tax effects of temporary differences between the tax basis of assets and liabilities and the amounts reported in our consolidated balance sheets, as well as net operating losses and tax credit carry forwards. We evaluate the carrying value of the net deferred tax assets and determine whether we will be able to generate sufficient future taxable income to realize our deferred tax assets. We perform this review for recoverability on a jurisdictional basis, whereby we consider both positive and negative evidence related to the likelihood of realization of the deferred tax assets. The weight given to the positive and negative evidence is commensurate with the extent to which the evidence can be objectively verified.  Cumulative losses in recent years is a significant piece of negative evidence that is difficult to overcome in determining that a valuation allowance is not needed against deferred tax assets.  Thus, it is generally difficult for positive evidence regarding projected future taxable income exclusive of reversing taxable temporary differences to outweigh objective negative evidence of recent financial reporting losses.  We believe we will fully realize our deferred tax assets, net of a recorded valuation allowance. We project future taxable income using the same forecasts used to test long-lived assets and intangibles for impairment, scheduling out the future reversal of existing taxable temporary differences and reviewing our most recent financial operations. In the event the estimates and assumptions indicate we will not generate sufficient future taxable income to realize our deferred tax assets, we record a valuation allowance against a portion of our deferred tax assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate our ongoing tax positions to determine if it is more-likely-than-not we will be successful in defending such positions if challenged by taxing authorities. To the extent that our tax positions do not meet the more-likely-than-not criteria, we record a liability for uncertain tax positions.  We have recorded a liability for uncertain tax positions which stem from certain federal and state tax items related to the interpretation of tax laws and regulations.  We continue to evaluate our positions regarding various state tax interpretations at each reporting date, until the applicable statute of limitations lapse.&lt;/span&gt;&lt;/div&gt;On August 16, 2022, the Inflation Reduction Act of 2022 was enacted into U.S. law. We are continuing to evaluate the regulation but do not anticipate a material impact to our consolidated financial statements.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1Mzk_86ade12d-e01a-49c2-a1a8-ee2ec858cc56">Derivative InstrumentsWe have historically used financial and commodity-based derivative contracts to manage our exposure to fluctuations in foreign currency exchange rates and aluminum prices. All derivatives are measured at fair value on a recurring basis.  We have not designated the derivative instruments we use as cash flow hedges under ASC Topic 815 &#x201c;Derivatives and Hedging&#x201d; (ASC 815). Therefore, all gains and losses, both realized and unrealized, are recognized in the consolidated statements of income (loss) in the period of the change as the underlying assets and liabilities are marked-to-market. We do not enter into derivative instruments for speculative or trading purposes. As such, these instruments are considered economic hedges, and are reflected in the operating activities section of the consolidated statements of cash flow.</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NzE_e6963b46-9a4d-424c-9613-6e98202f0c21">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Currency Translation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our consolidated financial statements are presented in our reporting currency, the United States Dollar. Our German and U.K. operations are measured using the local currency as the functional currency. The assets and liabilities of our foreign operations which are denominated in other currencies are translated to United States Dollars using the prevailing exchange rates as of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the applicable period. The resulting translation adjustments are recorded as a component of accumulated other comprehensive loss on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;Occasionally, we enter into transactions that are denominated in currencies other than our functional currency. At each balance sheet date, we translate these asset or liability accounts to our functional currency and record unrealized transaction gains or losses.  When these assets or liabilities settle, we record realized transaction gains or losses. These realized and unrealized gains or losses are included in the accompanying consolidated statements of income under the caption, &#x201c;Other, net.&#x201d;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2MDY_d152361e-bfaf-4e0e-b66b-49a8fa9c3650">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock&#x2013;Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have issued stock-based compensation in the form of stock options to directors, employees and officers, and non-vested restricted stock awards to certain key employees and officers. We apply the provisions of ASC Topic 718 &#x201c;Compensation - Stock Compensation&#x201d; (ASC 718), to determine the fair value of stock option awards on the date of grant using the Black-Scholes valuation model. We recognize the fair value as compensation expense on a straight-line basis over the requisite service period of the award based on awards ultimately expected to vest. Stock options granted to directors vest immediately while the stock options granted to our employees and officers typically vest ratably over a three-year period with service and continued employment as the vesting conditions. For new option grants to retirement-eligible employees, we recognize expense and vest immediately upon grant, consistent with the retirement vesting acceleration provisions of these grants. For employees near retirement age, we amortize such grants over the period from the grant date to the retirement-eligibility date if such period is shorter than the standard vesting schedule. For grants of non-vested restricted stock, we calculate the compensation expense at the grant date as the number of shares granted multiplied by the closing stock price of our common stock on the date of grant. This expense is recognized ratably over the vesting period. Our non-vested restricted stock grants to officers and employees cliff vest over a three-year period with service and continued employment as the only vesting criteria. Our fair value determination of stock-based payment awards on the date of grant using an option-pricing model is affected by our stock price as well as assumptions regarding a number of highly complex and subjective variables. These variables include, but are not limited to, our expected stock price volatility over the term of the awards, actual and projected employee stock option exercise behavior over the expected term, our dividend rate, risk-free rate and expectation with regards to forfeitures. Option-pricing models were developed for use in estimating the value of traded options that have no vesting or hedging restrictions and are fully transferable. Because our employee stock options have certain characteristics that are significantly different from traded options, and because changes in the subjective assumptions can materially affect the estimated value, the valuation models may not provide an accurate measure of the fair value of our employee stock options. Accordingly, that value may not be indicative of the fair value observed in a willing buyer/willing seller market transaction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have granted other awards which are linked to the performance of our common stock, but will settle in cash rather than the issuance of shares of our common stock. The value of these awards fluctuates with changes in our stock price, with the resulting gains or losses reflected in the period of the change. We have recorded current and non-current liabilities related to these awards reflected in the accompanying consolidated balance sheets at October&#160;31, 2022 and 2021. See Note&#160;13, &#x201c;Stock-based Compensation.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, we have granted performance share awards which use return on net assets as the vesting condition and the awards settle in cash.  We use a Monte Carlo simulation model to value the market condition and our stock price on the date of grant to value the internal performance condition and recognize expense ratably over the vesting period of three years. We esti&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;mate that the performance measures will be met and shares will vest at target until the year of settlement (third year of cliff &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;vesting).  As of October&#160;31, 2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, we have deemed 101,200 performance share awards related to the December 2019 grants as probable to vest. &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;We have also granted performance restricted stock units which settle in shares upon vesting.  These awards cliff vest upon a three-year service period with the absolute performance of our common stock as the vesting criteria.  The number of performance restricted stock units earned is variable depending on the metric achieved, and the settlement method is 100% in our common stock, with accrued dividends paid in cash at the time of vesting, assuming the shares had been outstanding throughout the performance period.  To value the performance restricted stock units, we use a Monte Carlo simulation model to arrive at a grant-date fair value.  This amount will be adjusted for forfeitures and expensed over the three-year term of the award with a credit to additional paid-in-capital.  Similar to performance shares, the performance restricted stock units are not considered outstanding shares, do not have voting rights, and are excluded from diluted weighted-average shares used to calculate earnings per share until the performance criteria is probable to result in the issuance of contingent shares.  As of October&#160;31, 2022, we have deemed &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;32,680&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; shares related to the December &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2019&lt;/span&gt; grants of performance restricted stock units as probable to vest.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i953baa37399e48c58031e1ca3c9ecdb1_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1MzI_99338905-758d-4bd8-930e-dd56aaf49ae5">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2NDQ_a9d8d43e-b1dc-421d-afa0-11a57b470a50">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i943db4cc52a2469db4f7fad6b867b481_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1OTU_502983d0-7196-4ce1-93e3-f57c53302d57">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i038c2fc20bd14964992b8f6c1a7df82b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzQzMzU_989d2985-4626-40bc-a13b-5c20c5618beb"
      unitRef="shares">101200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1Nzk_bc5ffe82-2623-4c59-bfa3-b6cef377ed9a">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1MzE_d838abdd-5970-44d1-99d6-cd990d3ef9d6">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i80437623bde34f0297f9909072485eb0_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzU1NDg_a296ee23-5838-4cc2-af46-49e43155cef1"
      unitRef="shares">32680</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:StockholdersEquityPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NzM_147bb024-0e25-4b34-8697-dfa2b1d05c75">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Treasury Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use the cost method to record treasury stock purchases whereby the entire cost of the acquired shares of our common stock is recorded as treasury stock (at cost). When we subsequently reissue these shares, proceeds in excess of cost upon the issuance of treasury shares are credited to additional paid-in-capital, while any deficiency is charged to retained earnings.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NDA_89108cf8-9888-491a-90e6-8b2726d69707">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&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;Earnings per Share Data&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculate basic earnings per share based on the weighted average number of our common shares outstanding for the applicable period. We calculate diluted earnings per share based on the weighted average number of our common shares outstanding for the period plus all potentially dilutive securities using the treasury stock method, whereby we assume that all such shares are converted into common shares at the beginning of the period, if deemed to be dilutive. If we incur a loss from continuing operations, the effects of potentially dilutive common stock equivalents (stock options and unvested restricted stock awards) are excluded from the calculation of diluted earnings per share because the effect would be anti-dilutive. Performance shares and performance restricted stock units are excluded from contingent shares for purposes of calculating diluted weighted average shares until the performance measure criteria is probable and shares are likely to be issued.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc1NjE_301ee507-4781-4ff5-b7e6-196ae097561d">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our supplemental cash flow information for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.773%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.673%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for interest&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,982&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,715&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid 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:10pt;font-weight:400;line-height:100%"&gt;26,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,118&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Cash received from income tax refunds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;352&#160;&lt;/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:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Noncash 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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(Decrease) increase in capitalized expenditures in accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,692)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,370&#160;&lt;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
    <us-gaap:InterestPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfMi0xLTEtMS0zOTE1Nw_339ba5dd-014b-4758-81f3-3207e9f0c6cf"
      unitRef="usd">1982000</us-gaap:InterestPaid>
    <us-gaap:InterestPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfMi0zLTEtMS0zOTE1Nw_911ceafc-87dc-4de2-bd46-b84c6ac9b7c1"
      unitRef="usd">1993000</us-gaap:InterestPaid>
    <us-gaap:InterestPaid
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfMi01LTEtMS0zOTE1Nw_3471e748-53b2-438f-9ca9-c2be946e72ce"
      unitRef="usd">4715000</us-gaap:InterestPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfMy0xLTEtMS0zOTE1Nw_77c1474c-630f-4ec9-a69e-2d12f56abfe2"
      unitRef="usd">26410000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfMy0zLTEtMS0zOTE1Nw_e329a28d-f35a-4dd0-b226-cb7ad67add95"
      unitRef="usd">22160000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfMy01LTEtMS0zOTE1Nw_ba8a93c4-ad41-4d96-b071-ba11b5c0d899"
      unitRef="usd">12118000</us-gaap:IncomeTaxesPaid>
    <us-gaap:ProceedsFromIncomeTaxRefunds
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfNC0xLTEtMS0zOTE1Nw_1c1f9cbf-96d9-4629-8c43-b7cfa0673b01"
      unitRef="usd">2235000</us-gaap:ProceedsFromIncomeTaxRefunds>
    <us-gaap:ProceedsFromIncomeTaxRefunds
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfNC0zLTEtMS0zOTE1Nw_f3cce93a-7d89-41f0-8ffb-633de99f89bf"
      unitRef="usd">381000</us-gaap:ProceedsFromIncomeTaxRefunds>
    <us-gaap:ProceedsFromIncomeTaxRefunds
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfNC01LTEtMS0zOTE1Nw_2118f5dd-041e-43ac-a065-1dbece6308db"
      unitRef="usd">352000</us-gaap:ProceedsFromIncomeTaxRefunds>
    <nx:IncreaseDecreaseInCapitalExpendituresIncurredButNotYetPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfNi0xLTEtMS0zOTE1Nw_91978125-41b1-4e94-9fee-8e9c0727fb78"
      unitRef="usd">-1692000</nx:IncreaseDecreaseInCapitalExpendituresIncurredButNotYetPaid>
    <nx:IncreaseDecreaseInCapitalExpendituresIncurredButNotYetPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfNi0zLTEtMS0zOTE1Nw_8ad0b440-6536-42e8-878a-22d47340226b"
      unitRef="usd">1124000</nx:IncreaseDecreaseInCapitalExpendituresIncurredButNotYetPaid>
    <nx:IncreaseDecreaseInCapitalExpendituresIncurredButNotYetPaid
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RhYmxlOjAzNjY1MGI0NDljNTQzY2U5M2YxNjIzNDlkNjE5OGE1L3RhYmxlcmFuZ2U6MDM2NjUwYjQ0OWM1NDNjZTkzZjE2MjM0OWQ2MTk4YTVfNi01LTEtMS0zOTE1Nw_12355453-e7a1-4eab-948c-b7f17d3cbd5c"
      unitRef="usd">2370000</nx:IncreaseDecreaseInCapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:RevenueFromRelatedParties
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTY0OTI2NzQ5Njk4MQ_5eca3bb0-1894-4778-ab1c-c02ca6096976"
      unitRef="usd">1900000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="i77fd439e06ae4692a9866b69dc38e46d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMTY0OTI2NzQ5Njk3OA_6953d393-acd6-4b24-83df-72da610c7e7f"
      unitRef="usd">120000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SubsequentEventsPolicyPolicyTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl84OC9mcmFnOjU3MDMxYzdhYjJhMjQ5MjQ4NWMwZWMxZjJlYjdhYmRhL3RleHRyZWdpb246NTcwMzFjN2FiMmEyNDkyNDg1YzBlYzFmMmViN2FiZGFfMzc2NDk_8ba5f465-80db-4939-bb3c-d069dc99e6e8">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Subsequent&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt; Events &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have evaluated events occurring after the balance sheet date for possible disclosure as a subsequent event through the&lt;/span&gt;&lt;/div&gt;date the financial statements were issued.  For additional discussion of our subsequent events, see Note 20, &#x201c;Subsequent Events.&#x201d;</us-gaap:SubsequentEventsPolicyPolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RleHRyZWdpb246MTA4NzQ3NTE4MTFlNGRiMThkMGNkZTM4MDQ4M2I5ZTRfMjMw_446cc92e-2520-44ae-8c45-6f188a376c2f">Accounts Receivable and Allowance for Credit Losses&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable consisted of the following as of October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,725&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;924&#160;&lt;/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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;340&#160;&lt;/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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in our allowance for credit losses were as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.940%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021, 2020 and 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393&#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:10pt;font-weight:400;line-height:100%"&gt;Current period provision for expected credit&lt;br/&gt;losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(299)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(494)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(76)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of October 31, 2022, 2021 and 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;289&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;340&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RleHRyZWdpb246MTA4NzQ3NTE4MTFlNGRiMThkMGNkZTM4MDQ4M2I5ZTRfMjMz_91c5186b-19b8-40a4-a304-b8f67922e8d0">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable consisted of the following as of October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,725&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;924&#160;&lt;/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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;340&#160;&lt;/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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:OtherReceivablesGrossCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfMi0xLTEtMS0zOTE1Nw_5c870b02-f3df-4b64-8f6a-e606cd4c7344"
      unitRef="usd">95851000</us-gaap:OtherReceivablesGrossCurrent>
    <us-gaap:OtherReceivablesGrossCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfMi0zLTEtMS0zOTE1Nw_d51301d2-284c-4af6-852a-f63e1d540285"
      unitRef="usd">107725000</us-gaap:OtherReceivablesGrossCurrent>
    <us-gaap:OtherReceivables
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfMy0xLTEtMS0zOTE1Nw_44ea79c3-c4ff-42c1-ab04-4ad3ed6c3ffe"
      unitRef="usd">456000</us-gaap:OtherReceivables>
    <us-gaap:OtherReceivables
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfMy0zLTEtMS0zOTE1Nw_0354a2a0-e3dd-4e3f-aba5-8c262bb57e03"
      unitRef="usd">924000</us-gaap:OtherReceivables>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfNC0xLTEtMS0zOTE1Nw_7991650d-97ae-4b43-bb45-f425e5abf5c7"
      unitRef="usd">96307000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfNC0zLTEtMS0zOTE1Nw_53efc90a-27e0-452d-8e01-34a793630bb4"
      unitRef="usd">108649000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfNS0xLTEtMS0zOTE1Nw_99723a09-3fbf-445f-a437-c847a631729f"
      unitRef="usd">289000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfNS0zLTEtMS0zOTE1Nw_eb8611f6-3574-41b8-9214-3dfce2f73f32"
      unitRef="usd">340000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfNi0xLTEtMS0zOTE1Nw_d80588aa-14eb-4d2a-bf45-5cfea644796e"
      unitRef="usd">96018000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmRjNjk3MjhiZDE4ODRkMjFiMGRmZjQ0OTE0MTAxNzFhL3RhYmxlcmFuZ2U6ZGM2OTcyOGJkMTg4NGQyMWIwZGZmNDQ5MTQxMDE3MWFfNi0zLTEtMS0zOTE1Nw_3d04146b-ae50-441e-8e33-dd82b922233a"
      unitRef="usd">108309000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RleHRyZWdpb246MTA4NzQ3NTE4MTFlNGRiMThkMGNkZTM4MDQ4M2I5ZTRfMjMx_beb6608b-63b7-4233-802e-0e56dd7e1291">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in our allowance for credit losses were as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.940%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021, 2020 and 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393&#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:10pt;font-weight:400;line-height:100%"&gt;Current period provision for expected credit&lt;br/&gt;losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Amounts written off&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(299)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(494)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(76)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of October 31, 2022, 2021 and 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;289&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;340&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfMi0xLTEtMS0zOTE1Nw_586cd2d4-1702-4c6d-ac96-59a79ff47d6c"
      unitRef="usd">340000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfMi0zLTEtMS0zOTE1Nw_f56ee79f-a45f-43aa-94b8-0a1d1766459e"
      unitRef="usd">161000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ife3be779e1f74741be5434652c68ccf3_I20181031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfMi01LTEtMS0zOTE1Nw_a36b93c5-aacd-45b5-ac65-70e5c15f13ad"
      unitRef="usd">393000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfMy0xLTEtMS0zOTE1Nw_a2403b61-65a3-47b2-9857-f3e4ac4c3a3e"
      unitRef="usd">314000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfMy0zLTEtMS0zOTE1Nw_140f382e-aa3d-4115-9882-bc579aa64996"
      unitRef="usd">267000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfMy01LTEtMS0zOTE1Nw_a9c76165-9d69-46a0-b290-a87a5afc4b41"
      unitRef="usd">262000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNC0xLTEtMS0zOTE1Nw_1d5b08fd-396c-4f76-a752-daf3fe861e4a"
      unitRef="usd">299000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNC0zLTEtMS0zOTE1Nw_c589cc4f-8885-4310-86d2-8fecb5114d2f"
      unitRef="usd">88000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNC01LTEtMS0zOTE1Nw_2c6b2dcb-1315-4bdd-a654-2f711bc8d4ce"
      unitRef="usd">494000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNS0xLTEtMS0zOTE1Nw_18819611-7591-43d5-bdc2-e21f850b157b"
      unitRef="usd">10000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNS0zLTEtMS0zOTE1Nw_f55817db-4a4f-46c9-8bcc-287c25c94b53"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNS01LTEtMS0zOTE1Nw_f968aaa3-3cb1-44e4-843b-1953eac14743"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNi0xLTEtMS0zOTE1Nw_7202d142-7e0a-4c66-b353-06c499f71222"
      unitRef="usd">289000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNi0zLTEtMS0zOTE1Nw_0ba345fd-b084-4887-ae62-a9e4d84828a9"
      unitRef="usd">340000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85MS9mcmFnOjEwODc0NzUxODExZTRkYjE4ZDBjZGUzODA0ODNiOWU0L3RhYmxlOmQzMGViYjI2ZDQ0ZjRmOWE4M2YxZTI0ZWVlMTNmODdiL3RhYmxlcmFuZ2U6ZDMwZWJiMjZkNDRmNGY5YTgzZjFlMjRlZWUxM2Y4N2JfNi01LTEtMS0zOTE1Nw_e55ee6b8-0a6b-448e-a437-cc7a05646375"
      unitRef="usd">161000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RleHRyZWdpb246NmEzNDdjNGM1MWIzNDllOGJlM2U3OGZmMDRmN2UzZjlfMTgy_819224a1-a545-4997-a90b-5a634d68284c">Inventories &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,867&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods and work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,499&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Supplies and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,099&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in our inventory reserve accounts were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.609%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.719%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021, 2020 and 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,790&#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:10pt;font-weight:400;line-height:100%"&gt;Charged to cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(568)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,060)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(168)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Balance as of October 31, 2022, 2021 and 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RleHRyZWdpb246NmEzNDdjNGM1MWIzNDllOGJlM2U3OGZmMDRmN2UzZjlfMTgx_0e7ee06b-06d5-40c3-bc32-bba7fe9b811a">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,867&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods and work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,499&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Supplies and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,099&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfMi0xLTEtMS0zOTE1Nw_11c1c8a4-4c62-4255-ba46-c38397a2833a"
      unitRef="usd">68455000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfMi0zLTEtMS0zOTE1Nw_dd277b13-381e-4870-8dea-a29f861161af"
      unitRef="usd">49867000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryFinishedGoodsAndWorkInProcess
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfMy0xLTEtMS0zOTE1Nw_aa78589b-3134-4420-bc97-c7756315e380"
      unitRef="usd">54013000</us-gaap:InventoryFinishedGoodsAndWorkInProcess>
    <us-gaap:InventoryFinishedGoodsAndWorkInProcess
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfMy0zLTEtMS0zOTE1Nw_58e68b6a-af81-411f-af40-154ce4dc0dee"
      unitRef="usd">43499000</us-gaap:InventoryFinishedGoodsAndWorkInProcess>
    <us-gaap:OtherInventorySupplies
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNC0xLTEtMS0zOTE1Nw_23470904-4859-464e-aa6a-8ddc5cce52df"
      unitRef="usd">1551000</us-gaap:OtherInventorySupplies>
    <us-gaap:OtherInventorySupplies
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNC0zLTEtMS0zOTE1Nw_cd71a677-1603-48e5-9f06-6d10ff4ab914"
      unitRef="usd">2099000</us-gaap:OtherInventorySupplies>
    <us-gaap:InventoryGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNS0xLTEtMS0zOTE1Nw_5252a4db-5828-495b-ab5b-117c8b47a719"
      unitRef="usd">124019000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNS0zLTEtMS0zOTE1Nw_ad3854ae-786b-4fc4-b4f2-378ac242cac5"
      unitRef="usd">95465000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNi0xLTEtMS0zOTE1Nw_d8585d45-1e1d-428c-a528-ce32b2ceedc0"
      unitRef="usd">3129000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNi0zLTEtMS0zOTE1Nw_2558b23d-c737-47e8-bfba-48a3aedf163c"
      unitRef="usd">2936000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNy0xLTEtMS0zOTE1Nw_5945d5e7-fdda-43bd-b600-749105abdaba"
      unitRef="usd">120890000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOjA2N2VlYmQ5NDdjMDQ3ZjI4MzU3MTg2Njc1N2E3Y2JlL3RhYmxlcmFuZ2U6MDY3ZWViZDk0N2MwNDdmMjgzNTcxODY2NzU3YTdjYmVfNy0zLTEtMS0zOTE1Nw_d052d18c-bac2-486a-b1db-774435901887"
      unitRef="usd">92529000</us-gaap:InventoryNet>
    <nx:InventoryReserveRollforwardTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RleHRyZWdpb246NmEzNDdjNGM1MWIzNDllOGJlM2U3OGZmMDRmN2UzZjlfMTc4_ba1b6720-f482-4cf4-a9de-40d4309eb364">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in our inventory reserve accounts were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.609%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.719%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021, 2020 and 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,790&#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:10pt;font-weight:400;line-height:100%"&gt;Charged to cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(568)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(133)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,060)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(168)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Balance as of October 31, 2022, 2021 and 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</nx:InventoryReserveRollforwardTableTextBlock>
    <us-gaap:InventoryValuationReserves
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfMi0xLTEtMS0zOTE1Nw_29cc52eb-317c-47db-a8fa-74527284535e"
      unitRef="usd">2936000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfMi0zLTEtMS0zOTE1Nw_265e8659-0627-4776-8e56-bac5bd7d2f63"
      unitRef="usd">6484000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="ife3be779e1f74741be5434652c68ccf3_I20181031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfMi01LTEtMS0zOTE1Nw_21856652-b5ff-4657-b6af-1be52ec4761d"
      unitRef="usd">3790000</us-gaap:InventoryValuationReserves>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfMy0xLTEtMS0zOTE1Nw_f3d33fe7-26c1-444c-9011-83c808adcd67"
      unitRef="usd">494000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfMy0zLTEtMS0zOTE1Nw_130c5a99-0de7-42d1-86bd-ec86104edf76"
      unitRef="usd">-568000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfMy01LTEtMS0zOTE1Nw_369cd0b8-b8bc-4b23-ae24-655cbc0c6cc9"
      unitRef="usd">2713000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNC0xLTEtMS0zOTE1Nw_caac055c-b436-445a-9fc2-3e5b0cda1cec"
      unitRef="usd">133000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNC0zLTEtMS0zOTE1Nw_4f4ab5dd-4f6a-458b-bb4b-3d5c3d24fed2"
      unitRef="usd">3060000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNC01LTEtMS0zOTE1Nw_2f82cbba-6443-4b30-b4ce-b9f617b19532"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNS0xLTEtMS0zOTE1Nw_a857708d-fcce-44d1-90b6-10d93f41194f"
      unitRef="usd">-168000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNS0zLTEtMS0zOTE1Nw_cbb1f19c-6dc6-4ea4-a3ad-96c4d9072792"
      unitRef="usd">80000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNS01LTEtMS0zOTE1Nw_521e74e6-6728-4583-b11f-d70b21605b9f"
      unitRef="usd">-19000</us-gaap:ValuationAllowancesAndReservesChargedToOtherAccounts>
    <us-gaap:InventoryValuationReserves
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNi0xLTEtMS0zOTE1Nw_d9a522c4-cf5f-44c3-b4ea-68ae2a7c917c"
      unitRef="usd">3129000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNi0zLTEtMS0zOTE1Nw_441300d5-c858-46d0-b252-ccafb7bee47b"
      unitRef="usd">2936000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85NC9mcmFnOjZhMzQ3YzRjNTFiMzQ5ZThiZTNlNzhmZjA0ZjdlM2Y5L3RhYmxlOmFmZDljOTllZWJiZjRkYzliODU4ZTgxOTY5ZWZjMDMzL3RhYmxlcmFuZ2U6YWZkOWM5OWVlYmJmNGRjOWI4NThlODE5NjllZmMwMzNfNi01LTEtMS0zOTE1Nw_37854fb9-5bd3-422d-9ce7-a25e7d667d22"
      unitRef="usd">6484000</us-gaap:InventoryValuationReserves>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RleHRyZWdpb246ZjljZWQ1MWU4YzA1NDU3MmEyZTJiMzc0NmFiYTg1OTVfNjg0_62496f8e-1348-4f51-954a-5354718d5d3b">Property, Plant and Equipment &lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant and equipment consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land and land improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,285&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings and building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,740&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;384,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386,996&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;528,928&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;515,123&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: 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:10pt;font-weight:400;line-height:100%"&gt;348,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336,493&#160;&lt;/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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense for the years ended October&#160;31, 2022, 2021, and 2020 was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$26.9 million&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;, $28.8 million and $31.8 million, respectively.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If there are indicators of potential impairment, we evaluate our property, plant and equipment for recoverability over the remaining useful lives of the assets. We did not incur impairment losses associated with these assets for the years ended October&#160;31, 2022, 2021, and 2020.  See further discussion at Note 1, &#x201c;Nature of Operations, Basis of Presentation and Significant Accounting Policies - Long-Lived Assets - Property, Plant and Equipment and Intangible Assets with Defined Lives.&#x201d;&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RleHRyZWdpb246ZjljZWQ1MWU4YzA1NDU3MmEyZTJiMzc0NmFiYTg1OTVfNjgz_5e27f2fb-5167-4f97-bbb3-f54f0a8b3dae">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant and equipment consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land and land improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,285&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings and building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,740&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;384,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386,996&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;528,928&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;515,123&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: 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:10pt;font-weight:400;line-height:100%"&gt;348,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;336,493&#160;&lt;/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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:LandAndLandImprovements
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfMi0xLTEtMS0zOTE1Nw_8d13c73a-833f-48ce-a417-42f3cf1d32c9"
      unitRef="usd">10702000</us-gaap:LandAndLandImprovements>
    <us-gaap:LandAndLandImprovements
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfMi0zLTEtMS0zOTE1Nw_04c5d0b9-f25a-4b6b-9f43-9fda8b4d1a1b"
      unitRef="usd">10285000</us-gaap:LandAndLandImprovements>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfMy0xLTEtMS0zOTE1Nw_524aca97-a74d-408b-acd4-9f3d17034ebd"
      unitRef="usd">105696000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfMy0zLTEtMS0zOTE1Nw_914355f8-5e9b-4baf-bee4-10a5991886b8"
      unitRef="usd">101740000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNC0xLTEtMS0zOTE1Nw_6e7cd085-d458-4113-91bd-0b15c49fe1b6"
      unitRef="usd">384023000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNC0zLTEtMS0zOTE1Nw_32304d64-a0c8-4001-a482-cdf0a1acd30c"
      unitRef="usd">386996000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNS0xLTEtMS0zOTE1Nw_ac26ce1e-5c27-40d2-b914-94526cde36c4"
      unitRef="usd">28507000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNS0zLTEtMS0zOTE1Nw_529930e1-c12d-4611-89cc-5233e29183b9"
      unitRef="usd">16102000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNi0xLTEtMS0zOTE1Nw_e973bbaa-ee69-442b-8de5-d8bcc0a9d29e"
      unitRef="usd">528928000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNi0zLTEtMS0zOTE1Nw_d2f180d5-32c3-4e1c-a694-2415f18e72de"
      unitRef="usd">515123000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNy0xLTEtMS0zOTE1Nw_a09ad7dd-7e95-4b60-9934-6a6d6e10dd2d"
      unitRef="usd">348528000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfNy0zLTEtMS0zOTE1Nw_13efa99a-d982-4a36-a90b-58fe502bebdb"
      unitRef="usd">336493000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfOC0xLTEtMS0zOTE1Nw_19a30a7e-62e6-4576-8f67-fb12d85859eb"
      unitRef="usd">180400000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RhYmxlOmMxMDU1YTUyZjBiNTQ1NDk4ZWNhOGI4NWUxYzllM2RmL3RhYmxlcmFuZ2U6YzEwNTVhNTJmMGI1NDU0OThlY2E4Yjg1ZTFjOWUzZGZfOC0zLTEtMS0zOTE1Nw_35227b15-2d02-4935-9846-900b9ddd8323"
      unitRef="usd">178630000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RleHRyZWdpb246ZjljZWQ1MWU4YzA1NDU3MmEyZTJiMzc0NmFiYTg1OTVfMTg2_2cddfcac-d08d-4231-84ae-0865f78a55f8"
      unitRef="usd">26900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RleHRyZWdpb246ZjljZWQ1MWU4YzA1NDU3MmEyZTJiMzc0NmFiYTg1OTVfMTkw_c5e9af1d-d460-46ae-8636-7cf790b63c03"
      unitRef="usd">28800000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl85Ny9mcmFnOmY5Y2VkNTFlOGMwNTQ1NzJhMmUyYjM3NDZhYmE4NTk1L3RleHRyZWdpb246ZjljZWQ1MWU4YzA1NDU3MmEyZTJiMzc0NmFiYTg1OTVfMTk3_9caad7d4-caee-45b8-b171-77cce1f23015"
      unitRef="usd">31800000</us-gaap:Depreciation>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzM4NjE_bc083894-6de9-43e1-bbf3-ec20d40a0e8c">Leases&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize a right-of-use (ROU) asset and lease liability for each operating and finance lease with a contractual term greater than 12 months at the time of lease inception.  We include ROU assets and lease liabilities for leases that exist within other contracts.  Leases with an original term of 12 months or less are not recognized on the balance sheet, and the rent expense related to those short-term leases is recognized over the lease term.  We do not account for lease and non-lease (e.g. common area maintenance) components of contracts separately for any underlying asset class.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease certain manufacturing plants, warehouses, office space, vehicles and equipment under finance and operating leases.  Lease commencement occurs on the date we take possession or control of the property or equipment.  Original terms for our real estate-related leases are generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzkwMg_d4f63fe7-fdf9-44a7-8c13-79d91b10c6e8"&gt;five&lt;/span&gt; and twenty years. Original terms for equipment-related leases, primarily manufacturing equipment and vehicles, are generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzEwMjg_9cdee8ff-905c-4b72-aeb7-7068e99bd4f8"&gt;one&lt;/span&gt; and ten years.  Some of our leases also include rental escalation clauses.  Renewal options are included in the determination of lease payments when management determines the options are reasonably certain of exercise, considering financial performance, strategic importance and/or invested capital.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If readily determinable, the rate implicit in the lease is used to discount lease payments to present value; however, substantially all of our leases do not provide a readily determinable implicit rate.  When the implicit rate is not determinable, our estimated incremental borrowing rate is utilized, determined on a collateralized basis, to discount lease payments based on information available at lease commencement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total lease costs recorded include fixed operating lease costs and variable lease costs. Most of our real estate leases require we pay certain expenses, such as common area maintenance costs, of which the fixed portion is included in operating lease costs. We recognize operating lease costs on a straight-line basis over the lease term. In addition to the above costs, variable lease costs are recognized when probable and are not included in determining the present value of our lease liability. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ROU asset is measured at the initial amount of the lease liability (calculated as the present value of lease payments over the term of the lease) adjusted for lease payments made at or before the lease commencement date and initial direct costs. For operating leases, ROU assets are reduced over the lease term by the recognized straight-line lease expense less the amount of accretion of the lease liability determined using the effective interest method. For finance leases, ROU assets are amortized on a straight-line basis over the shorter of the useful life of the leased asset or the lease term. Interest expense on each finance lease liability is recognized utilizing the effective interest method. ROU assets are tested for impairment in the same manner as long-lived assets and we determined there have been no triggering events for impairment. Additionally, we monitor for events or changes in circumstances that may require a reassessment of one of our leases and determine if a remeasurement is required.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the balance sheet at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.448%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Assets&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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;56,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;52,708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMC0xLTEtMzkxNTc_14dcb2f5-0d5b-4166-9256-c790d46abcb4"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMC0xLTEtMzkxNTc_5d0da5c9-381b-449f-83d7-94aef11eebc6"&gt;Finance lease assets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Property, plant and equipment (less accumulated depreciation of&lt;/span&gt;&lt;span style="background-color:#cceeff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt; $3,726 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;and $2,300)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;22,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;16,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease assets&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;78,003&#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:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;69,629&#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:top"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Current&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Current operating lease liabilities&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;7,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTItMS0xLTM5MTU3_05850008-741d-411f-b0ef-0ee2f585414a"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTItMS0xLTM5MTU3_c0037cd6-024a-42ea-8c51-f2833a3f0561"&gt;Current maturities of long-term debt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,114&#160;&lt;/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:10pt;font-weight:400;line-height:83%"&gt;Noncurrent&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Noncurrent operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,367&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTItMS0xLTM5MTU3_20caa41c-9f5c-432e-8dff-5d0f4a0de917"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTItMS0xLTM5MTU3_81a735f2-f6a2-4e04-9f62-8fd4bb28162f"&gt;Long-term debt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;17,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;14,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease liabilities&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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,165&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,012&#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:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the components of lease costs for the year ended October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:63.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;10,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Amortization of leased assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;583&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;561&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Variable lease costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;977&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;983&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;12,826&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;12,834&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases for the year ended October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - financing cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Right-of-use assets obtained in exchange for lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;13,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;6,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the weighted average remaining lease terms and weighted average discount rates for the Company's leases as of October&#160;31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Weighted average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the maturity of the lease liabilities as of October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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-weight:700;line-height:83%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2023&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,668&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2,027&#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:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;7,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;6,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;5,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;33,769&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;15,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease payments&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;71,388&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;24,568&#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:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Less: present value discount&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;14,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;5,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease liabilities&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;57,010&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;19,150&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <nx:LesseeLeaseTermOfContract
      contextRef="i954e6547cb214182b6111f6b3e104883_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzkwOQ_b64d3568-e7e8-419d-af90-a4f1f4f8599e">P20Y</nx:LesseeLeaseTermOfContract>
    <nx:LesseeLeaseTermOfContract
      contextRef="i8373f0b259d64483870dc99c3bb892df_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzEwMzU_e122983c-1887-4f95-9647-e4d2825da628">P10Y</nx:LesseeLeaseTermOfContract>
    <nx:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzM4NjI_a2ec6a20-de83-4a4a-b63a-d5e04ce77323">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the balance sheet at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.448%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Assets&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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;56,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;52,708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMC0xLTEtMzkxNTc_14dcb2f5-0d5b-4166-9256-c790d46abcb4"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMC0xLTEtMzkxNTc_5d0da5c9-381b-449f-83d7-94aef11eebc6"&gt;Finance lease assets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Property, plant and equipment (less accumulated depreciation of&lt;/span&gt;&lt;span style="background-color:#cceeff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt; $3,726 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;and $2,300)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;22,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;16,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease assets&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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;78,003&#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:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;69,629&#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:top"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Current&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Current operating lease liabilities&lt;/span&gt;&lt;/td&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;7,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTItMS0xLTM5MTU3_05850008-741d-411f-b0ef-0ee2f585414a"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTItMS0xLTM5MTU3_c0037cd6-024a-42ea-8c51-f2833a3f0561"&gt;Current maturities of long-term debt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,114&#160;&lt;/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:10pt;font-weight:400;line-height:83%"&gt;Noncurrent&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Noncurrent operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,367&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTItMS0xLTM5MTU3_20caa41c-9f5c-432e-8dff-5d0f4a0de917"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTItMS0xLTM5MTU3_81a735f2-f6a2-4e04-9f62-8fd4bb28162f"&gt;Long-term debt&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;17,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;14,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease liabilities&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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,165&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,012&#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;</nx:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzMtNC0xLTEtMzkxNTc_a6999aa2-f2eb-4778-acd1-b4d90be36f08"
      unitRef="usd">56000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzMtNi0xLTEtMzkxNTc_6d95677a-d3de-4b34-aa93-d3f5aaca4566"
      unitRef="usd">52708000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMi0xLTEtMzkxNTcvdGV4dHJlZ2lvbjoyZTA5Njg1NWNlN2I0NDVjODIxNmM4NzA5MGViMzI1MV82OA_3b9234a6-39c6-438b-b685-10165a0fc3fe"
      unitRef="usd">3726000</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtMi0xLTEtMzkxNTcvdGV4dHJlZ2lvbjoyZTA5Njg1NWNlN2I0NDVjODIxNmM4NzA5MGViMzI1MV83NQ_523cd255-cf09-49d0-b03a-8f24a5f009f2"
      unitRef="usd">2300000</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtNC0xLTEtMzkxNTc_3cf556af-ba83-46ca-9b6d-b84eb1e8f225"
      unitRef="usd">22003000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzQtNi0xLTEtMzkxNTc_550ca9dd-aa2e-4e40-9a70-8731c6266e59"
      unitRef="usd">16921000</us-gaap:FinanceLeaseRightOfUseAsset>
    <nx:LeasesRightofUseAsset
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzUtNC0xLTEtMzkxNTc_bdcadb97-257b-4997-be63-e97890146fbc"
      unitRef="usd">78003000</nx:LeasesRightofUseAsset>
    <nx:LeasesRightofUseAsset
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzUtNi0xLTEtMzkxNTc_1f1ffcb4-dee4-4464-8a8d-3142c854544b"
      unitRef="usd">69629000</nx:LeasesRightofUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzktNC0xLTEtMzkxNTc_9efe4118-59dc-4f8f-9d32-919246150c30"
      unitRef="usd">7727000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzktNi0xLTEtMzkxNTc_e9b261ed-86ab-4fb7-a93d-fcbd9c75f4d7"
      unitRef="usd">8196000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTQtMS0xLTM5MTU3_db772140-d12b-4d71-a0c6-0b445d8c9259"
      unitRef="usd">1336000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEwLTYtMS0xLTM5MTU3_6f160112-c72e-4313-8bbe-6aa37417f677"
      unitRef="usd">1114000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEyLTQtMS0xLTM5MTU3_e9e47926-7574-4231-947b-0b7c53de9097"
      unitRef="usd">49286000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEyLTYtMS0xLTM5MTU3_5cd70ff3-435e-4cb4-99d4-2651c5f65710"
      unitRef="usd">45367000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTQtMS0xLTM5MTU3_15e19358-ab5e-4442-9aef-f6860e29c946"
      unitRef="usd">17816000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzEzLTYtMS0xLTM5MTU3_963d0148-0067-4fb7-b577-affcf2f03a22"
      unitRef="usd">14335000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <nx:LeasesLiability
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzE0LTQtMS0xLTM5MTU3_f94cad7b-4ed1-42bf-ad5c-da33f5576d80"
      unitRef="usd">76165000</nx:LeasesLiability>
    <nx:LeasesLiability
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo1Mzk3NDM4N2E4MjA0YmUyOGNjNjVlMjAwZjgyYjViYi90YWJsZXJhbmdlOjUzOTc0Mzg3YTgyMDRiZTI4Y2M2NWUyMDBmODJiNWJiXzE0LTYtMS0xLTM5MTU3_33ad9638-f348-4e85-b61f-65b1f49a3a94"
      unitRef="usd">69012000</nx:LeasesLiability>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzM4NjM_6f097130-82ed-4aa9-9382-b4c347aa28e8">&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the components of lease costs for the year ended October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:63.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;10,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Amortization of leased assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;583&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;561&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Variable lease costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;977&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;983&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;12,826&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;12,834&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases for the year ended October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - financing cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Right-of-use assets obtained in exchange for lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;13,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;6,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzItMS0xLTEtMzkxNTc_75511932-baec-4e3b-87de-c5c753b3f8d0"
      unitRef="usd">9934000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzItMy0xLTEtMzkxNTc_42667001-e0df-46b7-9f57-8736d05544ed"
      unitRef="usd">10125000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzQtMS0xLTEtMzkxNTc_90ad5b1c-e432-40ae-b7f2-f4b6ac60e6bd"
      unitRef="usd">1332000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzQtMy0xLTEtMzkxNTc_81362890-1d21-4827-b28d-7a90cdc58db5"
      unitRef="usd">1165000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzUtMS0xLTEtMzkxNTc_43f244cc-2ea5-4cde-a0bc-3d930f66a291"
      unitRef="usd">583000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzUtMy0xLTEtMzkxNTc_4f79b67a-e650-4ac0-adae-a4fe189172aa"
      unitRef="usd">561000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:VariableLeaseCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzYtMS0xLTEtMzkxNTc_ca026b98-c3a3-4e8e-8bc8-92b79cd94cdb"
      unitRef="usd">977000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzYtMy0xLTEtMzkxNTc_45e83eec-c020-477a-bca9-d61568cf83d5"
      unitRef="usd">983000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzctMS0xLTEtMzkxNTc_e8ad0f3d-deab-47cc-bf7b-cbd11cfbee29"
      unitRef="usd">12826000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2Y2IyYTJiMWZmYmI0YTUwOGU1MjMxYTg4YmZhNTExNy90YWJsZXJhbmdlOjZjYjJhMmIxZmZiYjRhNTA4ZTUyMzFhODhiZmE1MTE3XzctMy0xLTEtMzkxNTc_1c0bc58a-56ae-4b96-b5e7-042a13631919"
      unitRef="usd">12834000</us-gaap:LeaseCost>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzMtMS0xLTEtMzkxNTc_3814f8d6-4164-45b6-b431-e3c68913dc01"
      unitRef="usd">1162</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzMtMy0xLTEtMzkxNTc_2c0042d7-d312-4d56-8c70-eabda9c1a866"
      unitRef="usd">1003</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzQtMS0xLTEtMzkxNTc_bc37420f-801a-41bd-a8dd-70151f764a9d"
      unitRef="usd">583</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzQtMy0xLTEtMzkxNTc_81b90971-eed2-49c8-be9c-096ffdea8d93"
      unitRef="usd">561</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzUtMS0xLTEtMzkxNTc_82f8fd24-88af-4a7f-bf87-7f5a70eaafba"
      unitRef="usd">9955</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzUtMy0xLTEtMzkxNTc_1609a337-1842-41fe-9ef3-76134fe2ac14"
      unitRef="usd">9621</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzgtMS0xLTEtMzkxNTc_b230f577-378b-4f87-87fb-589766dcc974"
      unitRef="usd">13872</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzgtMy0xLTEtMzkxNTc_362b1710-e296-4214-b900-b68be60d57ea"
      unitRef="usd">8737</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzktMS0xLTEtMzkxNTc_aeb6c3d6-d86f-4124-9e1f-301fdee3c8e6"
      unitRef="usd">6467</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTozYjBhYzQ4OWU4ODY0NDQ2YjBkNmU4MGE4MTkwN2ZkNi90YWJsZXJhbmdlOjNiMGFjNDg5ZTg4NjQ0NDZiMGQ2ZTgwYTgxOTA3ZmQ2XzktMy0xLTEtMzkxNTc_488a4bd9-2666-4260-8f87-d8f8c5fea648"
      unitRef="usd">469</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <nx:LeaseTermandDiscountRateLesseeTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzM4NTc_6f346946-8297-40db-a8f7-fee7abe4c24b">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the weighted average remaining lease terms and weighted average discount rates for the Company's leases as of October&#160;31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Weighted average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;3.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</nx:LeaseTermandDiscountRateLesseeTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzMtMS0xLTEtMzkxNTc_24fe4c87-9dac-41ae-8b3e-f433b998fe9b">P10Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzMtMy0xLTEtMzkxNTc_22d66de5-5926-445c-a26f-251cfc2fa889">P7Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzQtMS0xLTEtMzkxNTc_d2ef87a4-5bbb-4109-ae86-6d438a798346">P13Y8M12D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzQtMy0xLTEtMzkxNTc_2496aa94-d082-4ee2-9a2d-7ba268bfd8bc">P15Y1M6D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzctMS0xLTEtMzkxNTc_a785f706-13c2-4a04-a180-5e50cbacd1f5"
      unitRef="number">0.0384</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzctMy0xLTEtMzkxNTc_1a24f259-f252-434d-9fe3-71c652d8af3e"
      unitRef="number">0.0323</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzgtMS0xLTEtMzkxNTc_b34d37cd-6a9d-49c7-90b0-9d3195cc278b"
      unitRef="number">0.0378</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTo2MWNlYjEwMDkzZTY0NDVhYTgxYTRlYThiMjIzZTc1OC90YWJsZXJhbmdlOjYxY2ViMTAwOTNlNjQ0NWFhODFhNGVhOGIyMjNlNzU4XzgtMy0xLTEtMzkxNTc_c2a8bfb8-1cf4-4917-90ba-fb9db039acde"
      unitRef="number">0.0372</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzM4NTg_b583b491-5e16-4501-bb7a-d534f3e87a4d">&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the maturity of the lease liabilities as of October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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-weight:700;line-height:83%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2023&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,668&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2,027&#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:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;7,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;6,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;5,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;33,769&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;15,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease payments&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;71,388&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;24,568&#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:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Less: present value discount&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;14,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;5,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease liabilities&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;57,010&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;19,150&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90ZXh0cmVnaW9uOjYzNjlhNDA3NDQ4YzQwMGJhMWI3NjU5OTc5ZjY5ZDQ2XzM4NTg_b91561b3-2927-4488-8c5e-9136c3f7e3cd">&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the maturity of the lease liabilities as of October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:63.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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-weight:700;line-height:83%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:83%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2023&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;9,668&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2,027&#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:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;8,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;7,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;6,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;5,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;1,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;33,769&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;15,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease payments&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;71,388&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;24,568&#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:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Less: present value discount&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;14,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;5,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease liabilities&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;57,010&#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:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;19,150&#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:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzEtMS0xLTEtMzkxNTc_02c34ad7-6224-4cae-bddc-b52011443470"
      unitRef="usd">9668000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzEtMy0xLTEtMzkxNTc_c79b68b2-d23b-4a1a-bbec-3bd90e06fb6b"
      unitRef="usd">2027000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzItMS0xLTEtMzkxNTc_c3fdb566-1bf8-4a04-ad69-e68b01d1f73e"
      unitRef="usd">8920000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzItMy0xLTEtMzkxNTc_9fd503dd-66f2-4f4c-840f-0cbd6490579d"
      unitRef="usd">1980000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzMtMS0xLTEtMzkxNTc_6c7e8c81-3fe0-443d-b997-0a6a7596a8cc"
      unitRef="usd">7213000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzMtMy0xLTEtMzkxNTc_fbacf1da-ab77-4d61-8c93-5f3e93067faf"
      unitRef="usd">1922000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzQtMS0xLTEtMzkxNTc_2c75543b-051b-4dd2-965a-892782553579"
      unitRef="usd">6229000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzQtMy0xLTEtMzkxNTc_07f5e8c4-9b82-4b68-a225-80bc1a906ae4"
      unitRef="usd">1807000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzUtMS0xLTEtMzkxNTc_9a00d365-5a11-4b77-a1b6-538ec59b304c"
      unitRef="usd">5589000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzUtMy0xLTEtMzkxNTc_3f7cddac-cb24-41d1-9070-8dec39db1f3e"
      unitRef="usd">1709000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzYtMS0xLTEtMzkxNTc_4672a91d-3d18-4b4e-a7a7-afc2ef1529aa"
      unitRef="usd">33769000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzYtMy0xLTEtMzkxNTc_8c9ef728-22db-4933-b670-636cd76c569e"
      unitRef="usd">15123000</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzctMS0xLTEtMzkxNTc_b1495dd9-84ab-49ff-959c-ba3368ca1d65"
      unitRef="usd">71388000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzctMy0xLTEtMzkxNTc_a67a2b82-d7cc-47e7-93b4-4d469a9bd104"
      unitRef="usd">24568000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzgtMS0xLTEtMzkxNTc_4b58c034-16e3-4ccf-9401-f0ce452ea986"
      unitRef="usd">14378000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzgtMy0xLTEtMzkxNTc_cd19d64a-a659-459c-a0ff-5a7f1c300d85"
      unitRef="usd">5418000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzktMS0xLTEtMzkxNTc_33e7c5b5-972e-43d4-8f9e-c65caacaca26"
      unitRef="usd">57010000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDAvZnJhZzo2MzY5YTQwNzQ0OGM0MDBiYTFiNzY1OTk3OWY2OWQ0Ni90YWJsZTphYzI4NTdmNGRlMjI0MmQwOGEzOTA5MmYwOWMzYjdlMi90YWJsZXJhbmdlOmFjMjg1N2Y0ZGUyMjQyZDA4YTM5MDkyZjA5YzNiN2UyXzktMy0xLTEtMzkxNTc_f7602c33-30a8-4942-a2bf-707d0c6a3857"
      unitRef="usd">19150000</us-gaap:FinanceLeaseLiability>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIxNjc_3259ad08-926c-439c-b970-4c797acb8ccc">Goodwill and Intangible Assets &lt;div style="margin-top:9pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the carrying amount of goodwill for the years ended October&#160;31, 2022 and 2021 was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021 and 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;146,154&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation 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:10pt;font-weight:400;line-height:100%"&gt;(11,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:10pt;font-weight:400;line-height:100%"&gt;3,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of October 31, 2022 and 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At our annual testing date, August 31, 2022, we ha&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;d five reporting units with goodwill balances. Two of these units were included in our NA Fenestration segment and had goodwill balances of $35.9 million and $2.8 million, two units were included in our EU Fenestration segment with goodwill balances of $45.1 million and $14.9 million, and our NA Cabinet Components segment had one unit with a goodwill balance of $39.2 million.  The details of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the results of our goodwill assessments during the year ended October 31, 2022 are more fully described at Note 1, &#x201c;Nature of Operations, Basis of Presentation and Significant Accounting Policies - Long-Lived Assets - Goodwill.&#x201d; For a summary of the change in the carrying amount of goodwill by segment, see Note 16, &#x201c;Segment Information.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt"&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;Identifiable Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortizable intangible assets consisted of the following as of October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.604%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 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="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Remaining Weighted Average Useful Life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:7.5pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;146,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,086&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,589&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Patents and other technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,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:10pt;font-weight:400;line-height:100%"&gt;22,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,084&#160;&lt;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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 style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,386&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151,351&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;225,169&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;142,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not estimate a residual value associated with these intangible assets.  See additional disclosure at Note 1, "Nature of Operations, Basis of Presentation and Significant Accounting Policies - Restructuring."  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended October 31, 2022 and 2021, we retired fully amortized identifiable intangible assets of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;zero&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; and $9.9&#160;million, respectively, related to customer relationships. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate amortization expense associated with identifiable intangible assets for the years ended October&#160;31, 2022, 2021, and 2020 was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$11.9 million&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;, $12.8 million and $14.3 million, respectively.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated remaining amortization expense, assuming current intangible balances and no new acquisitions, for future fiscal years as of October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.502%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Amortization Expense&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,908&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,156&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,930&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,855&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,330&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not incur impairment losses related to our identifiable intangible assets during the years ended October&#160;31, 2022, 2021, and 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIxODQ_01bfee5c-1f2e-46cd-8787-3d1f6ade9f65">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the carrying amount of goodwill for the years ended October&#160;31, 2022 and 2021 was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021 and 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;146,154&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation 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:10pt;font-weight:400;line-height:100%"&gt;(11,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:10pt;font-weight:400;line-height:100%"&gt;3,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of October 31, 2022 and 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo4NDVmNDVjNTQ0Mjk0YTBmOTk4YTc2Y2Q5ZGM0NTFiZi90YWJsZXJhbmdlOjg0NWY0NWM1NDQyOTRhMGY5OThhNzZjZDlkYzQ1MWJmXzItMS0xLTEtMzkxNTc_d2bd8cb2-20be-415b-8480-fad23806f834"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo4NDVmNDVjNTQ0Mjk0YTBmOTk4YTc2Y2Q5ZGM0NTFiZi90YWJsZXJhbmdlOjg0NWY0NWM1NDQyOTRhMGY5OThhNzZjZDlkYzQ1MWJmXzItMy0xLTEtMzkxNTc_0b92fecd-087c-4196-917d-8f2c30ac375b"
      unitRef="usd">146154000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo4NDVmNDVjNTQ0Mjk0YTBmOTk4YTc2Y2Q5ZGM0NTFiZi90YWJsZXJhbmdlOjg0NWY0NWM1NDQyOTRhMGY5OThhNzZjZDlkYzQ1MWJmXzYtMS0xLTEtMzkxNTc_e48a766e-7b6f-4c84-937a-df8d9dc99ac0"
      unitRef="usd">-11350000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo4NDVmNDVjNTQ0Mjk0YTBmOTk4YTc2Y2Q5ZGM0NTFiZi90YWJsZXJhbmdlOjg0NWY0NWM1NDQyOTRhMGY5OThhNzZjZDlkYzQ1MWJmXzYtMy0xLTEtMzkxNTc_442e5b79-7fa8-428f-b7cb-0142588218bb"
      unitRef="usd">3051000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo4NDVmNDVjNTQ0Mjk0YTBmOTk4YTc2Y2Q5ZGM0NTFiZi90YWJsZXJhbmdlOjg0NWY0NWM1NDQyOTRhMGY5OThhNzZjZDlkYzQ1MWJmXzctMS0xLTEtMzkxNTc_6911c11e-a295-4169-88b6-ac9ae81318cc"
      unitRef="usd">137855000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo4NDVmNDVjNTQ0Mjk0YTBmOTk4YTc2Y2Q5ZGM0NTFiZi90YWJsZXJhbmdlOjg0NWY0NWM1NDQyOTRhMGY5OThhNzZjZDlkYzQ1MWJmXzctMy0xLTEtMzkxNTc_25e7e1bc-a185-41c2-b7b8-025079ff59b8"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <nx:NumberofReportableUnitswithGoodwillBalances
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIwOA_96f534b0-54d7-454a-8416-6f4fd817721d"
      unitRef="unit">5</nx:NumberofReportableUnitswithGoodwillBalances>
    <nx:NumberofReportableUnitswithGoodwillBalances
      contextRef="i05d03c9329874ef1a4edfc460c2548e8_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzI1MQ_3221e939-78ae-43a4-82f7-acae6ed4324b"
      unitRef="unit">2</nx:NumberofReportableUnitswithGoodwillBalances>
    <us-gaap:Goodwill
      contextRef="i5106b3b5479544468bc5ecb2140a4c1e_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzM0Mw_4f15bcc1-4f58-4f22-ba19-9d2efbe9478c"
      unitRef="usd">35900000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib030e76b565842f2b705272e40166cc3_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzM1MA_1f891ed0-a272-463f-8827-7c520b992603"
      unitRef="usd">2800000</us-gaap:Goodwill>
    <nx:NumberofReportableUnitswithGoodwillBalances
      contextRef="id6736ad7f22b4a73996b04b502d00bf2_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzM1NA_d0bf3ccd-f103-4400-9248-fbdcc9e5f759"
      unitRef="unit">2</nx:NumberofReportableUnitswithGoodwillBalances>
    <us-gaap:Goodwill
      contextRef="i4d0c8aeb241c45d18643b01071b328e7_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzQzNA_43d06c55-8fe6-4a85-94ab-f1627de340d9"
      unitRef="usd">45100000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i405dc6eee45b4daf8372315511e208b4_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzQ0MQ_93de861e-d081-4e44-82e4-930c9ad4e94d"
      unitRef="usd">14900000</us-gaap:Goodwill>
    <nx:NumberofReportableUnitswithGoodwillBalances
      contextRef="iacf0c35a48814578b3dd04440728cdb1_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzQ4Nw_15794487-0e0e-4e70-9d8c-d1cedff13a60"
      unitRef="unit">1</nx:NumberofReportableUnitswithGoodwillBalances>
    <us-gaap:Goodwill
      contextRef="iaabc3bdec5234e7f8724e94626a44564_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzUyMg_aae48f68-89f9-48ae-8275-fa19afb86410"
      unitRef="usd">39200000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIxNzM_6046f649-4a6a-4d8f-9a35-28a9c1ca6a80">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortizable intangible assets consisted of the following as of October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.604%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 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="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Remaining Weighted Average Useful Life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:7.5pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;146,207&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,086&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,589&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Patents and other technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,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:10pt;font-weight:400;line-height:100%"&gt;22,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,084&#160;&lt;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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 style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,386&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151,351&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;225,169&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;142,759&#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:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i976b66172001413485721c42658d48d7_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzItMS0xLTEtMzkxNTc_7db9dff1-f084-4759-9fe8-ea361b7dd7bb">P8Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i84db723b60824cf0b1a65b874cc64603_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzItMy0xLTEtMzkxNTc_fdc8546c-ee6a-4acf-8433-1d536e5e43f7"
      unitRef="usd">139607000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i84db723b60824cf0b1a65b874cc64603_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzItNS0xLTEtMzkxNTc_9c3ec9f4-70fa-4063-823c-bdf23f36b5b4"
      unitRef="usd">88646000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i43c67c34a6e440ab87b411e4a0fb1622_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzItNy0xLTEtMzkxNTc_5a821cfa-bd31-434b-8681-8ac6e09d3dc3"
      unitRef="usd">146207000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i43c67c34a6e440ab87b411e4a0fb1622_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzItOS0xLTEtMzkxNTc_a0acceaa-54b7-4270-b429-2392ef9a9011"
      unitRef="usd">81086000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i89e25e1085d6487983b963119d45e16e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzMtMS0xLTEtMzkxNTc_53edf6ad-ece9-4cdf-ae4e-845385f7bed6">P7Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic6c2a48453c74f58a676176efdd7de93_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzMtMy0xLTEtMzkxNTc_d72b5986-92ec-44b5-894c-7211f0e9632b"
      unitRef="usd">54389000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic6c2a48453c74f58a676176efdd7de93_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzMtNS0xLTEtMzkxNTc_3d2b9238-7523-4865-a229-ec253a95900a"
      unitRef="usd">40610000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i0dc24d2aaf514841b1bec2c126514756_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzMtNy0xLTEtMzkxNTc_0762fe5e-93e0-46b0-aa94-188c6464cf2d"
      unitRef="usd">56437000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i0dc24d2aaf514841b1bec2c126514756_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzMtOS0xLTEtMzkxNTc_8b0909d6-bec7-46f8-a38b-edd40d3c6b27"
      unitRef="usd">39589000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ida5cc77dff384314aa4224e5534e2c94_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzQtMS0xLTEtMzkxNTc_7f40db89-18c2-4377-b871-ef395ee7e0f6">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie5f467067a2d4588b8ba2a8295ad584c_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzQtMy0xLTEtMzkxNTc_9df27974-b992-4afb-ba5d-f1edefe91cd7"
      unitRef="usd">22390000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie5f467067a2d4588b8ba2a8295ad584c_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzQtNS0xLTEtMzkxNTc_82494790-e42f-461c-9d11-880d58d62353"
      unitRef="usd">22095000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5d6d7753575c4ae6bb56c6487074b4b3_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzQtNy0xLTEtMzkxNTc_6e2b7a6b-9945-44ad-b3ff-d6161d356c28"
      unitRef="usd">22525000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5d6d7753575c4ae6bb56c6487074b4b3_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzQtOS0xLTEtMzkxNTc_41365ddf-f3e0-44fa-958b-b87bfed5ece0"
      unitRef="usd">22084000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzYtMy0xLTEtMzkxNTc_fc3e08d7-59d1-40b7-a06f-bbe1286bc86c"
      unitRef="usd">216386000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzYtNS0xLTEtMzkxNTc_7a49b7f8-42dc-45e0-ae2e-d2ab8f883d99"
      unitRef="usd">151351000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzYtNy0xLTEtMzkxNTc_2555e5a0-ad59-4ecc-9c68-be16d43d7726"
      unitRef="usd">225169000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTo5NWNjOTk1ZGUxNGM0ZDMzOWUzMzU5MmRhMTllZjljYS90YWJsZXJhbmdlOjk1Y2M5OTVkZTE0YzRkMzM5ZTMzNTkyZGExOWVmOWNhXzYtOS0xLTEtMzkxNTc_ecef558f-7114-4ee3-a2b8-bd050c116800"
      unitRef="usd">142759000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i84db723b60824cf0b1a65b874cc64603_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzE0ODQ_10ab706e-5009-4875-9853-ebe9006bee6c"
      unitRef="usd">0</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:IntangibleAssetsNetIncludingGoodwill
      contextRef="i43c67c34a6e440ab87b411e4a0fb1622_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzE0OTE_c8951e98-e702-43f1-9fba-d2e043786b64"
      unitRef="usd">9900000</us-gaap:IntangibleAssetsNetIncludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzE4Mzg_77ab0990-ead8-4729-b310-16bd61f4e12a"
      unitRef="usd">11900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzE4NDI_c3ee02d9-2779-4378-a879-fa71f7505c6a"
      unitRef="usd">12800000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzE4NDk_463ef09d-1618-488c-b95a-8edfb06f5c88"
      unitRef="usd">14300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIxODU_e3cec372-a725-40b0-bd9f-191bc966685f">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated remaining amortization expense, assuming current intangible balances and no new acquisitions, for future fiscal years as of October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.502%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Amortization Expense&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,908&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,156&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,930&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,855&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,330&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzEtMS0xLTEtMzkxNTc_945b2a00-9aef-41a1-80b2-804ae7e2ecbf"
      unitRef="usd">10908000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzItMS0xLTEtMzkxNTc_bdd72237-f618-4b14-9cbe-3f04249d91f9"
      unitRef="usd">10156000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzMtMS0xLTEtMzkxNTc_13d74355-2856-4150-8a4e-b9b2ec4ec38e"
      unitRef="usd">8930000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzQtMS0xLTEtMzkxNTc_a1006c37-553c-4c3a-beed-bf865374e5d3"
      unitRef="usd">8855000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzUtMS0xLTEtMzkxNTc_ec9882bb-713b-43b3-867e-581c5f58dbc5"
      unitRef="usd">8856000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzYtMS0xLTEtMzkxNTc_4f319dd3-0d31-4583-8f0e-482db5975f62"
      unitRef="usd">17330000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90YWJsZTplNmE3MGQxZTM3NGE0YzAwOTBkNGY0MjViMjlmMTVhMy90YWJsZXJhbmdlOmU2YTcwZDFlMzc0YTRjMDA5MGQ0ZjQyNWIyOWYxNWEzXzctMS0xLTEtMzkxNTc_fecddd44-3731-405c-8f58-de5d9d732373"
      unitRef="usd">65035000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIwNDU_323d3339-edb3-4fa2-bfb1-e65a03916114"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIwNDU_9891a9ab-2a2f-454d-91a3-9acad28dc516"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDMvZnJhZzpkNzJlOTljMzAzOWI0Mjg1YWFkYzFiMjQ0ZmM0MmU5ZC90ZXh0cmVnaW9uOmQ3MmU5OWMzMDM5YjQyODVhYWRjMWIyNDRmYzQyZTlkXzIwNDU_c4646528-bd8e-4110-b9bd-f8285c456d2e"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90ZXh0cmVnaW9uOjI2OWEzZjQzOTk1ZTQ1M2ZiNjQyMDkxOGViZDU1NDE0XzExNQ_da784d3f-f0b3-4ac1-9c7a-3357df977361">Accrued Liabilities &lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued liabilities consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.447%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.612%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payroll, payroll taxes and employee benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,039&#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:10pt;font-weight:400;line-height:100%"&gt;Accrued insurance and workers compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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:10pt;font-weight:400;line-height:100%"&gt;6,340&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Sales allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,590&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Deferred compensation (current portion)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;395&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;627&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Audit, legal, and other professional fees&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,886&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Accrued 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:10pt;font-weight:400;line-height:100%"&gt;2,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,944&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90ZXh0cmVnaW9uOjI2OWEzZjQzOTk1ZTQ1M2ZiNjQyMDkxOGViZDU1NDE0XzExNw_7f4f41a1-761a-415d-be3c-da9d1d0cefcf">&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued liabilities consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.447%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.612%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payroll, payroll taxes and employee benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,039&#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:10pt;font-weight:400;line-height:100%"&gt;Accrued insurance and workers compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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:10pt;font-weight:400;line-height:100%"&gt;6,340&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Sales allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,590&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Deferred compensation (current portion)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;395&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;627&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Audit, legal, and other professional fees&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,886&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Accrued 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:10pt;font-weight:400;line-height:100%"&gt;2,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,944&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzItMS0xLTEtMzkxNTc_0d1ca2ce-0ad8-4bb8-9a65-273df8253306"
      unitRef="usd">23878000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzItMy0xLTEtMzkxNTc_38117819-4b3e-4495-8d24-cfa5ca1d5d8b"
      unitRef="usd">30039000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzMtMS0xLTEtMzkxNTc_c1710fee-4eda-4336-b6b8-170cb3303e48"
      unitRef="usd">7232000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzMtMy0xLTEtMzkxNTc_406cfd6d-46e6-4148-a133-cbd00cc1a2ea"
      unitRef="usd">6340000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:CustomerRefundLiabilityCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzQtMS0xLTEtMzkxNTc_11ec8d80-589f-4477-9c21-c3591b4b8d8f"
      unitRef="usd">7456000</us-gaap:CustomerRefundLiabilityCurrent>
    <us-gaap:CustomerRefundLiabilityCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzQtMy0xLTEtMzkxNTc_38662f11-d9c9-4665-8e25-dc865fec9775"
      unitRef="usd">8590000</us-gaap:CustomerRefundLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzUtMS0xLTEtMzkxNTc_c40bfa40-6435-447d-b0ae-8140b7607436"
      unitRef="usd">0</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzUtMy0xLTEtMzkxNTc_4dbd0f2e-981f-46b6-b631-a2133d1f0615"
      unitRef="usd">395000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzYtMS0xLTEtMzkxNTc_b0b81e53-5e47-4cdc-b40e-021903138d6d"
      unitRef="usd">792000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzYtMy0xLTEtMzkxNTc_2a8434a9-c90d-41a6-96ed-a1b1e0866c9f"
      unitRef="usd">627000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzctMS0xLTEtMzkxNTc_fcc3cc54-4909-4a85-9db6-1e060be2eb3d"
      unitRef="usd">13000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzctMy0xLTEtMzkxNTc_51f88066-f6cf-48f7-af3b-ba987802710b"
      unitRef="usd">77000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzgtMS0xLTEtMzkxNTc_e59d4503-da39-4a16-b1ad-c96490980d6a"
      unitRef="usd">3136000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzgtMy0xLTEtMzkxNTc_5eba3bb4-7f60-460b-9fc8-b2e0ccd4c0d0"
      unitRef="usd">1886000</us-gaap:AccruedProfessionalFeesCurrent>
    <nx:Accruedotherbusinesstaxes
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzktMS0xLTEtMzkxNTc_53337750-2776-412d-a60f-e577e74d8018"
      unitRef="usd">2864000</nx:Accruedotherbusinesstaxes>
    <nx:Accruedotherbusinesstaxes
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzktMy0xLTEtMzkxNTc_5ec7af02-d558-49c4-a49f-6497166eda0b"
      unitRef="usd">3258000</nx:Accruedotherbusinesstaxes>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzExLTEtMS0xLTM5MTU3_c9bf837e-80a1-4358-b8cc-1ef6aa1326d8"
      unitRef="usd">6743000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzExLTMtMS0xLTM5MTU3_d882a33d-b2c0-4f71-9f4d-5467a40181e9"
      unitRef="usd">4944000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzEyLTEtMS0xLTM5MTU3_404aef6a-29b8-4d2d-95fe-08fc1c027d2e"
      unitRef="usd">52114000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDYvZnJhZzoyNjlhM2Y0Mzk5NWU0NTNmYjY0MjA5MThlYmQ1NTQxNC90YWJsZTowNDYzNjI5YTNkMDg0ZWU0OTQxZDJmYjAzZDljNzBmNy90YWJsZXJhbmdlOjA0NjM2MjlhM2QwODRlZTQ5NDFkMmZiMDNkOWM3MGY3XzEyLTMtMS0xLTM5MTU3_b51f5ac7-ca69-4509-bfb6-530e3d400602"
      unitRef="usd">56156000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM5NjQ_658d954b-cbc1-45e1-a603-a31559a6c446">Debt &lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.447%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.612%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,000&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease obligations and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized deferred financing fees&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(597)&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;846&#160;&lt;/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 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Revolving Credit Facility&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 6, 2022, we entered into our Second Amended and Restated Credit Agreement (the &#x201c;Credit Facility&#x201d;) with Wells Fargo Securities, LLC, as Agent, Swingline Lender and Issuing Lender, and BofA Securities, Inc. serving as Syndication Agent.  We capitalized $1.2&#160;million of deferred financing fees related to the Credit Facility &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;during the year ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;October&#160;31, 2022&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&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;  This $325.0 million revolving credit facility has a &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzEwODE2_7f95b443-0abf-4c76-b21e-0a374cfa4ce5"&gt;five&lt;/span&gt;-year term, maturing on July 6, 2027, and replaced our previous credit facility we entered into on October 18, 2018.  Our previous credit facility is more fully described in our Annual Report on Form 10-K for the fiscal year ended October 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest payments for the Credit Facility are calculated, at our election and depending upon the Consolidated Net Leverage Ratio, at a Base Rate plus an applicable margin or at the same rate as Risk-Free Rate (&#x201c;RFR&#x201d;) Loans for domestic borrowings or Eurocurrency Rate Loans plus an applicable margin. In addition, we are subject to commitment fees for the unused portion of the Credit Facility.  As of October&#160;31, 2022, the applicable rate was RFR + 1.25%. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The applicable margin and commitment fees are outlined in the following table:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&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:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.753%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.601%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Pricing Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Consolidated Leverage Ratio&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Commitment Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Eurocurrency Rate Loans and RFR Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Base Rate Loans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;I&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less than or equal to 1.50 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.150%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.25%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" 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:10pt;font-weight:400;line-height:100%"&gt;II&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 1.50 to 1.00, but less than or equal to 2.25 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.175%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.50%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;III&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 2.25 to 1.00, but less than or equal to 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.200%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" 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:10pt;font-weight:400;line-height:100%"&gt;IV&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.250%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the event of default, outstanding borrowings accrue interest at the Default Rate, as defined, whereby the obligations will bear interest at a per annum rate equal to 2% above the total per annum rate otherwise applicable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facility provides for incremental revolving credit commitments for a minimum principal amount of $10.0 million, up to an aggregate amount of $150.0 million or 100% of Consolidated EBITDA, subject to the lender's discretion to elect or decline the incremental increase. We can also borrow up to the lesser of $15.0 million or the revolving credit commitment, as defined, under a Swingline feature of the Credit Agreement.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facility contains a: (1) Consolidated Interest Coverage Ratio requirement whereby we must not permit the Consolidated Interest Coverage Ratio, as defined, to be less than 3.00 to 1.00, and (2) Consolidated Net Leverage Ratio requirement whereby the Consolidated Net Leverage Ratio, as defined, must be greater than 3.25 to 1.00.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to maintaining these financial covenants, the Credit Facility also limits our ability to enter into certain business transactions, such as to incur indebtedness or liens, to acquire businesses or dispose of material assets, make restricted payments, pay dividends (limited to $25.0 million per year) and other transactions as further defined in the Credit Facility. Some of these limitations, however, do not take effect so long as total leverage is less than or equal to 2.75 to 1.00 and available liquidity exceeds $25.0 million.  Substantially all of our domestic assets, with the exception of real property were used as collateral for the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022, we &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;had $13.0 million of borrowings outstanding under the Credit Facility (reduced by unamortized debt issuance costs of $1.5 million), $5.0 million of outstanding letters of credit and $19.2 million outstanding &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;under finance leases.  We had $307.0 million available for use under the Credit Facility at October&#160;31, 2022.  The borrowings outstanding as of October&#160;31, 2022 under the Credit&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; Facility accrue inter&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;est at 5.08% per annum, and our weighted average borrowing rate for borrowings outstanding during the years ended October&#160;31, 2022 and 2021 was 2.16%&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; and 1.42%, respectively.  We were in compliance with our debt covenants as of October&#160;31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We maintain certain finance lease obligations related to equipment purchases, vehicles, and warehouse space. Refer to Note 5 &#x201c;Leases&#x201d; for further information regarding our finance leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the scheduled maturity dates of our long-term debt outstanding (excluding deferred financing fees of $1.5 million) at October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.486%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.884%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases and Other Obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate Maturities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,065&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,992&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;1,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,922&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;1,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,807&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,709&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,125&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total debt payments&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:10pt;font-weight:400;line-height:100%"&gt;13,000&#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:10pt;font-weight:400;line-height:100%"&gt;24,620&#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:10pt;font-weight:400;line-height:100%"&gt;37,620&#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:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount of finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;(5,418)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,418)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,202&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,202&#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;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM5NjA_d6d8c3c9-10db-462e-88b5-6bd4b0fe5f74">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt consisted of the following at October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.447%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.612%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,000&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease obligations and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized deferred financing fees&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(597)&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;846&#160;&lt;/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 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i1f8b8e57293341caab09110ef04af74d_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzItMS0xLTEtMzkxNTc_3c011d85-613f-493d-ab93-18e10ae69480"
      unitRef="usd">13000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i1e2811f2c9024f6d817e5f9202bd002f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzItMy0xLTEtMzkxNTc_66096a0b-a9d4-4b2e-b727-46eb8611bbbc"
      unitRef="usd">38000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="id44040b5594d4426a9fada6da725277a_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzQtMS0xLTEtMzkxNTc_7d29c663-89fb-4ff0-9f94-7693a81276bf"
      unitRef="usd">19202000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i7105ec77239b460a9264f0033e79f46e_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzQtMy0xLTEtMzkxNTc_9ffd4776-27ae-4661-a3f5-2661d1d5e19f"
      unitRef="usd">15537000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzUtMS0xLTEtMzkxNTc_74b0b520-08ff-4e8f-8f1e-5bfa789c2ff3"
      unitRef="usd">1528000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzUtMy0xLTEtMzkxNTc_7f6e7574-3a0a-42bd-a354-9820e9a501fb"
      unitRef="usd">597000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzYtMS0xLTEtMzkxNTc_fb607f17-bfe4-480a-8ada-b5581d4f12c8"
      unitRef="usd">30674000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzYtMy0xLTEtMzkxNTc_55436499-5fca-4cd1-85cd-e7ce6fb9892e"
      unitRef="usd">52940000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzctMS0xLTEtMzkxNTc_1f21b996-3f09-463f-83f8-758bf03c420e"
      unitRef="usd">1046000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzctMy0xLTEtMzkxNTc_f41e36a4-8887-46b9-a573-4f1b14d98d7f"
      unitRef="usd">846000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzgtMS0xLTEtMzkxNTc_a4292319-cf9c-42ad-bce3-87ead161f863"
      unitRef="usd">29628000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTowYWIwZjdhYjE0Y2U0ZDlhOWY3MDg1ZDM0MGJiNjNlZS90YWJsZXJhbmdlOjBhYjBmN2FiMTRjZTRkOWE5ZjcwODVkMzQwYmI2M2VlXzgtMy0xLTEtMzkxNTc_e418dd6c-f346-4b2b-9fef-e3afbc709726"
      unitRef="usd">52094000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ie40c8b0e74e74f2bbe6c8d1c35068a9a_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzU0OTc1NTgyNjQwMw_0804e68f-b4f4-47dc-bbe5-a8cd6eecb3af"
      unitRef="usd">1200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <nx:LineofCreditFacilityMaximumBorrowingCapacityCommittedAmount
      contextRef="i5d16e418a4754d539431bea42cdc3c33_I20220706"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzE1Mg_88b0055e-ab6e-406b-9f2c-c3de55e741ce"
      unitRef="usd">325000000</nx:LineofCreditFacilityMaximumBorrowingCapacityCommittedAmount>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i078a5447ba824c27af92156105706cad_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzY3Mg_698287b8-f8de-470e-89b8-59a907ee3d04"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM5NDk_f7b767aa-9dfa-4a0b-bb82-8f3e1e9accce">&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The applicable margin and commitment fees are outlined in the following table:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&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:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.753%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.601%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Pricing Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Consolidated Leverage Ratio&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Commitment Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Eurocurrency Rate Loans and RFR Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Base Rate Loans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;I&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less than or equal to 1.50 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.150%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.25%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" 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:10pt;font-weight:400;line-height:100%"&gt;II&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 1.50 to 1.00, but less than or equal to 2.25 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.175%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.50%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;III&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 2.25 to 1.00, but less than or equal to 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.200%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" 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:10pt;font-weight:400;line-height:100%"&gt;IV&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.250%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i53c81ecb1f9e472881f01e52d0c4a724_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzEtNC0xLTEtMzkxNTc_0c791eae-66ad-4b7e-8192-7bc06ec66be8"
      unitRef="number">0.00150</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="icd772cdfdc114782accab55df717fbe9_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzEtNi0xLTEtMzkxNTc_7a2a5a19-9566-4d32-8f88-9ae48ac05fd6"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i253b101a408849bda7d8a197ba179c5c_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzEtOC0xLTEtMzkxNTc_f254a0e0-9ff6-43a3-b97a-cafb64f7053c"
      unitRef="number">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i87e32a3478fc44b588ca135567a0ba66_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzItNC0xLTEtMzkxNTc_31c9bd3a-75d5-4ca8-ba98-38f3269c0b34"
      unitRef="number">0.00175</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i75ec78ea2ca34292b0c476a5f103c789_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzItNi0xLTEtMzkxNTc_2b16e923-c2a2-4533-b49a-75c4d59e053a"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i4a84470bad564856a422350ca4fb8ef6_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzItOC0xLTEtMzkxNTc_85db0026-50ea-41fe-830c-0e0fff310b38"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i422bdd4a31c849eb8aa801a9cb92a807_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzMtNC0xLTEtMzkxNTc_9bdc9fbb-dcfa-4175-b76b-9180089ca960"
      unitRef="number">0.00200</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i394776a93c594267a4cebde18f73ff13_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzMtNi0xLTEtMzkxNTc_07bdd4c2-58c4-421a-b228-926b7577c777"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ib48b0ddd54bf42809539e38dd0f8f4a5_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzMtOC0xLTEtMzkxNTc_ee1c3293-3b58-4652-8492-867ea0991b1e"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i84e3ed4a7846417d8d02631c78d0b596_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzQtNC0xLTEtMzkxNTc_75f1868e-36a5-4b4c-85d5-58f92cde8467"
      unitRef="number">0.00250</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic05ec84e48ad460bbd35b81027ecc18b_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzQtNi0xLTEtMzkxNTc_af43b15e-78d2-4ef8-bfac-313952b11a6c"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic1020ce1a0e6473f9b76b9e9f675b963_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTo1YmEyNDExNTdjMDk0MDg5OThlODNhODgwMWUzMTRkNS90YWJsZXJhbmdlOjViYTI0MTE1N2MwOTQwODk5OGU4M2E4ODAxZTMxNGQ1XzQtOC0xLTEtMzkxNTc_14c7ae36-f85d-4fc8-a96b-a034192b0f9a"
      unitRef="number">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <nx:DebtInstrumentDebtDefaultInterestAccrualRate
      contextRef="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzEwMjE_04a67489-2032-46bf-8950-1fd9c5896d28"
      unitRef="number">0.02</nx:DebtInstrumentDebtDefaultInterestAccrualRate>
    <nx:MinimumIncrementalBorrowing
      contextRef="i638c1611c75849c9b8f927a828fc908d_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzExODU_164dc65d-04ce-4ddc-9991-afcf062eb92a"
      unitRef="usd">10000000</nx:MinimumIncrementalBorrowing>
    <nx:MaximumIncrementalBorrowing
      contextRef="i638c1611c75849c9b8f927a828fc908d_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzEyMTg_f8ebe505-30fb-44c8-ae8b-e59c62064c39"
      unitRef="usd">150000000</nx:MaximumIncrementalBorrowing>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount
      contextRef="i5aa617e429ad46b78b9ab4fbbd07fc1d_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzEzNDI_101797bc-b186-44ce-a76b-f1bc953aa005"
      unitRef="usd">15000000</us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount>
    <nx:DebtInstrumentRequiredCoverageRatio
      contextRef="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzE2Mjg_24ce3e60-af69-49db-887f-a5192aeaef7e"
      unitRef="number">3.00</nx:DebtInstrumentRequiredCoverageRatio>
    <nx:DebtInstrumentRequiredLeverageRatio
      contextRef="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzE3NjI_67d4e7b7-a4d6-44c5-bfcb-d801b109cad9"
      unitRef="number">3.25</nx:DebtInstrumentRequiredLeverageRatio>
    <nx:DebtInstrumentLimitationonAnnualDividend
      contextRef="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzQwMTk_6c734be3-8a1d-4a07-af5a-ac723ad63ebd"
      unitRef="usd">25000000</nx:DebtInstrumentLimitationonAnnualDividend>
    <nx:DebtInstrumentLeverageRatioThresholdforLimitationstoTakeEffect
      contextRef="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzIyNDc_6ad3c029-86d9-4235-afb6-2585bc978183"
      unitRef="number">2.75</nx:DebtInstrumentLeverageRatioThresholdforLimitationstoTakeEffect>
    <nx:DebtInstrumentLiquidityThresholdforLimitationstoTakeEffect
      contextRef="i8345e74483ad4402816784732fbf2d1e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzIyOTA_8c52481d-9dc3-4d14-bdb2-65bf02fd2fc1"
      unitRef="usd">25000000</nx:DebtInstrumentLiquidityThresholdforLimitationstoTakeEffect>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i1f8b8e57293341caab09110ef04af74d_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzMwNzk_3c011d85-613f-493d-ab93-18e10ae69480"
      unitRef="usd">13000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzMxODE_c375cac8-5d64-4213-badf-517d23f40431"
      unitRef="usd">1500000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzMxODY_782c33f6-2b1f-4c61-b671-eaa31768a529"
      unitRef="usd">5000000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="id44040b5594d4426a9fada6da725277a_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzMyMjY_c4eb7f4e-8796-418d-a7ba-bece25430995"
      unitRef="usd">19200000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzMyNzE_bf1b77e8-445f-40cc-8231-902a140dc320"
      unitRef="usd">307000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i00c19344caa54e809efcd69288668c7c_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM0MDc_143259df-34ac-44b9-8ff1-33ff41b76e80"
      unitRef="number">0.0508</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM1MjU_b18e886a-26bf-4718-9eeb-b26298199cc7"
      unitRef="number">0.0216</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM1MzI_294b6921-b4d9-49bb-99d2-fdb98cfaf797"
      unitRef="number">0.0142</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM5NTg_5952e27d-aa01-452c-979d-f71f07d112ae">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the scheduled maturity dates of our long-term debt outstanding (excluding deferred financing fees of $1.5 million) at October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.486%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.884%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases and Other Obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate Maturities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,065&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,992&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;1,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,922&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;1,807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,807&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,709&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,125&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total debt payments&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:10pt;font-weight:400;line-height:100%"&gt;13,000&#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:10pt;font-weight:400;line-height:100%"&gt;24,620&#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:10pt;font-weight:400;line-height:100%"&gt;37,620&#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:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount of finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;(5,418)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,418)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,202&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,202&#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:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90ZXh0cmVnaW9uOjQzNzAxYTNhNTA4OTRjMWE4MWFjMWRjZDRiNTI4ZTQzXzM5MjI_c375cac8-5d64-4213-badf-517d23f40431"
      unitRef="usd">1500000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzEtMS0xLTEtMzkxNTc_2733e65f-7bdf-4836-8ec7-77c08e3ab35b"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearOne
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzEtMy0xLTEtMzkxNTc_ff162a4b-9ca3-4bed-8150-f3a78213176a"
      unitRef="usd">2065000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearOne>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzEtNS0xLTEtMzkxNTc_c1b4220d-8d1b-48d8-abc5-26f8f9f35743"
      unitRef="usd">2065000</us-gaap:LongTermDebtAndCapitalLeaseObligationsRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzItMS0xLTEtMzkxNTc_e3f8a2a1-532b-46ba-8bdc-51f5027c4227"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzItMy0xLTEtMzkxNTc_a51bcc74-1648-4307-8847-20b51cd22660"
      unitRef="usd">1992000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearTwo>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzItNS0xLTEtMzkxNTc_486ea7a4-6885-424d-bebf-1caec9e70fa9"
      unitRef="usd">1992000</us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzMtMS0xLTEtMzkxNTc_5c8c991f-8c07-4aed-853b-a55e4dfa0e1a"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzMtMy0xLTEtMzkxNTc_36248f30-0f7f-48c7-ba95-2868bc0030f2"
      unitRef="usd">1922000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearThree>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzMtNS0xLTEtMzkxNTc_2aef0725-5950-422b-89a3-33b083cb75b0"
      unitRef="usd">1922000</us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzQtMS0xLTEtMzkxNTc_a970e650-b465-4cc8-be21-8d72b3892f38"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzQtMy0xLTEtMzkxNTc_4a44dbaa-2c66-4895-8b2e-ca3a301163e7"
      unitRef="usd">1807000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearFour>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzQtNS0xLTEtMzkxNTc_d3ceeae1-0889-4711-b9b4-20901555c275"
      unitRef="usd">1807000</us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzUtMS0xLTEtMzkxNTc_8bbfd890-4ef1-4c08-b09c-70df7f33d8e8"
      unitRef="usd">13000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzUtMy0xLTEtMzkxNTc_d762ace3-9ddb-46a7-92ee-5ed531681965"
      unitRef="usd">1709000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidYearFive>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzUtNS0xLTEtMzkxNTc_80950d03-aa19-479c-aef3-f1df4f3b40bc"
      unitRef="usd">14709000</us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzYtMS0xLTEtMzkxNTc_a16a04e8-3b28-45b9-a7f2-dcf4dddc9471"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidAfterYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzYtMy0xLTEtMzkxNTc_39997d64-d001-412a-8130-e5353bbacc09"
      unitRef="usd">15125000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaidAfterYearFive>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzYtNS0xLTEtMzkxNTc_09450b2c-a31f-4892-bf17-07a48909ecc1"
      unitRef="usd">15125000</us-gaap:LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i1f8b8e57293341caab09110ef04af74d_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzctMS0xLTEtMzkxNTc_e9a7d64b-7b76-4a64-8360-4ce44a9264b9"
      unitRef="usd">13000000</us-gaap:DebtAndCapitalLeaseObligations>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaid
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzctMy0xLTEtMzkxNTc_38126a49-3466-4cef-bf68-a1e134ca4bbe"
      unitRef="usd">24620000</nx:FinanceLeaseLiabilityAndOtherFinancingObligationsToBePaid>
    <nx:LongTermDebtAndCapitalLeaseObligationsGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzctNS0xLTEtMzkxNTc_35b29cd3-059c-41b0-a72f-d8b472b562ca"
      unitRef="usd">37620000</nx:LongTermDebtAndCapitalLeaseObligationsGross>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzgtMy0xLTEtMzkxNTc_d4106638-78ad-451c-8202-8c56d17f2266"
      unitRef="usd">5418000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzgtNS0xLTEtMzkxNTc_0fc279ef-5536-4acc-8c11-6bc3853a3393"
      unitRef="usd">5418000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i1f8b8e57293341caab09110ef04af74d_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzktMS0xLTEtMzkxNTc_934d8ba8-b726-431f-9f80-f3bc832b6462"
      unitRef="usd">13000000</us-gaap:DebtAndCapitalLeaseObligations>
    <nx:FinanceLeaseLiabilityAndOtherFinancingObligations
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzktMy0xLTEtMzkxNTc_529bd544-c112-4667-ba52-e5f34125a2e1"
      unitRef="usd">19202000</nx:FinanceLeaseLiabilityAndOtherFinancingObligations>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMDkvZnJhZzo0MzcwMWEzYTUwODk0YzFhODFhYzFkY2Q0YjUyOGU0My90YWJsZTpmOGI3NDAzYzRkNzM0MTJjYjhjODZhZGJiZDBkZGVkOS90YWJsZXJhbmdlOmY4Yjc0MDNjNGQ3MzQxMmNiOGM4NmFkYmJkMGRkZWQ5XzktNS0xLTEtMzkxNTc_1496d1e3-f95a-4bb1-b5c9-1c220c601724"
      unitRef="usd">32202000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4NDg_880d5aed-d217-47b4-90d2-65e05b858d2d">Retirement Plans&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a number of retirement plans covering substantially all employees. We provide both defined benefit and defined contribution plans. In general, an employee&#x2019;s coverage for retirement benefits depends on the location of employment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Defined Benefit Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our non-contributory, single employer defined benefit pension plan covers certain of our employees in the U.S.  On January 1, 2020 we enacted changes to our pension plan whereby the benefits for all participants were frozen and thereafter those participants will receive increased benefits in the Company sponsored defined contribution plan in lieu of participation in a defined benefit plan. As a result of freezing the plan on January 1, 2020, we remeasured the pension assets and obligations for the pension plan, which resulted in a decrease to our projected benefit obligation and a corresponding net actuarial gain that was recorded in accumulated other comprehensive income. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended October 31, 2022, we notified participants that our pension plan will be terminated effective November 1, 2022, with final settlement expected to occur in fiscal 2024.  Until such time that the termination is complete, the participants will receive an interest related credit on their respective balance equivalent to the prevailing 30-year Treasury rate.  The majority of our pension plan participants have their benefit determined pursuant to the cash balance formula. For the remaining participants, the benefit formula is a traditional formula for retirement benefits, whereby the plan pays benefits to employees upon retirement, using a formula which considers years of service and pensionable compensation prior to retirement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Medicare Prescription Drug, Improvement and Modernization Act of 2003 was signed into law on December&#160;8, 2003. This Act introduces a Medicare prescription-drug benefit beginning in 2006 as well as a federal subsidy to sponsors of retiree health care plans that provide a benefit at least &#x201c;actuarially equivalent&#x201d; to the Medicare benefit. We concluded that our plans are at least &#x201c;actuarially equivalent&#x201d; to the Medicare benefit. For those who are otherwise eligible for the subsidy, we have not included this subsidy per the Act in our benefit calculations. The impact to net periodic benefit cost and to benefits paid did not have a material impact on the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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;Funded Status and Net periodic Benefit Cost&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in benefit obligation and plan assets, and our funded status (reported in deferred pension and postretirement benefits on the consolidated balance sheets) were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:71.162%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.135%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Change in Benefit Obligation:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021 and 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;850&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;756&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Actuarial 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:10pt;font-weight:400;line-height:100%"&gt;(6,944)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(849)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(349)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(359)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(604)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,619)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,112)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Projected benefit obligation at October 31, 2022 and 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,529&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,379&#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:8pt;font-weight:700;line-height:100%"&gt;Change in Plan Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021 and 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,120&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Actual return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,458)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,225&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Employer contributions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(349)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(359)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(604)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(732)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,619)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,112)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Fair value of plan assets at October 31, 2022 and 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,612&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,642&#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:10pt;font-weight:400;line-height:100%"&gt;Noncurrent liability - Funded Status&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,917)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,737)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022 and 2021, included in our accumulated comprehensive loss was a net actuarial loss of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$3.6 million&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; and $4.5 million, respectively.  There were no net prior service costs or transition obligations for the years ended October&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022 and 2021, the accumulated benefit obligation was &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$32.5 million&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; and $42.4 million, respectively. The accumulated benefit obligation is the present value of pension benefits (whether vested or unvested) attributed to employee service rendered before the measurement date, and based on employee service and compensation prior to that date. The accumulated benefit obligation differs from the projected benefit obligation in that it includes no assumption about future compensation levels. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net periodic benefit cost for the years ended October&#160;31, 2022, 2021 and 2020, was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,262&#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:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,139&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzQtMC0xLTEtMzkxNTc_aaae8ae0-3363-49b1-a748-8b8bc43cc840"&gt;Expected return on plan assets&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,991)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,960)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,006)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Amortization of 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:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzYtMC0xLTEtMzkxNTc_0a99f31f-2e81-4310-9840-491f4b3b23a8"&gt;Settlements&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Net periodic benefit cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in plan assets and projected benefit obligations which were recognized in our other comprehensive loss for the years ended October&#160;31, 2022, 2021 and 2020 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net (gain) loss arising during the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(495)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Amortization of 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:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzQtMC0xLTEtMzkxNTc_6872cd53-3594-4d49-8d1d-34171c946801"&gt;Less: Curtailments&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,141&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Less: Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total recognized in other comprehensive (income) loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,477)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Measurement Date and Assumptions&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally determine our actuarial assumptions on an annual basis, with a measurement date of October 31.  The following table presents our assumptions for pension benefit calculations for the years ended October&#160;31, 2022, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.682%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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-weight:700;line-height:100%"&gt;For the Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Assumptions:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Benefit Obligation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Net Periodic Benefit Cost&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.36%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;2.77%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;3.22%&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;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:10pt;font-weight:400;line-height:100%"&gt;2.77%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;2.60%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;3.10%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rate of compensation increase&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;n/a&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;n/a&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;n/a&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The discount rate was used to calculate the present value of the projected benefit obligation for pension benefits.  The rate reflects the amount at which benefits could be effectively settled on the measurement date.  We used the FTSE Above Median Model whereby target yields are developed from bonds across a range of maturity points, and a curve is fitted to those targets. Spot rates (zero coupon bond yields) are developed from the curve and used to discount benefit payments associated with each future year. This model assumes spot rates will remain level beyond the 30-year point. We determine the present value of plan benefits by applying the discount rates to projected benefit cash flows. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected return on plan assets was used to determine net periodic pension expense. The rate of return assumptions were based on projected long-term market returns for the various asset classes in which the plans were invested, weighted by the target asset allocations. We review the return assumption at least annually. The rate of compensation increase represents the long-term assumption for expected increases in salaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Plan Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables provide our target allocation for the year ended October&#160;31, 2022, as well as the actual asset allocation by asset category and fair value measurements as of October&#160;31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.380%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.472%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Target Allocation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Actual Allocation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 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:8pt;font-weight:700;line-height:100%"&gt;October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.907%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.444%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements at&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market fund&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300&#160;&lt;/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 style="height:12pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Large capitalization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;8,231&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Small capitalization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,493&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International 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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,992&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;High-quality core bond&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,787&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;High-quality government bond&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,301&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;High-yield bond&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;577&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,302&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total securities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;padding-left:2.2pt"&gt;Quoted prices in active markets for identical assets (Level 1).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inputs and valuation techniques used to measure the fair value of plan assets vary according to the type of security being valued. All of the equity and debt securities held directly by the plans were actively traded and fair values were determined based on quoted market prices.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our investment objective for defined benefit plan assets is to meet the plans&#x2019; benefit obligations, while minimizing the potential for future required plan contributions. As steps were initiated to implement the termination of the defined benefit plan, the investments were transitioned to more liquid assets in order to reflect the upcoming settlement charges which will be incurred upon finalization of the termination plan.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Expected Benefit Payments and Funding&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our pension funding policy is to make the minimum annual contributions required pursuant to the plan.  For the fiscal years ended October&#160;31, 2022, 2021 and 2020, we made total pension contributio&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ns of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;zero, $0.5 million and $3.7 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During fiscal year 2024, we expect to make a contribution which will fully fund the remaining liability and complete the pension plan termination process.  This expected contribution will be dependent on many variables, including the market value of the assets compared to the obligation, as well as other market or regulatory conditions. Accordingly, actual funding amounts and the timing of such funding may differ from current estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the total benefit payments expected to be paid to participants by year, which includes payments funded from our assets, as well as payments paid from the plan for the year ended October 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Pension Benefits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,880&#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:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;729&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;750&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;704&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2028 - 2032&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,415&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,248&#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="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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;Defined Contribution Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also sponsor two defined contribution plans into which we and our employees make contributions.  As of January 1, 2020, we match 100% up to the first 5% of employee annual salary deferrals under our plan for all employees excluding NA Cabinet Components participants, who receive a 100% match up to 4% of employee annual salary deferrals.  Between January 1, 2018 and January 1, 2020, we matched 50% up to the first 5% of employee salary deferrals. We do not offer our common stock as a direct investment option under these plans. For the years ended October&#160;31, 2022, 2021 and 2020, we contributed approximately &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$6.8 million&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;, $6.3 million and $4.8 million for these plans, respectively.   &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Plans&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have supplemental benefit plans covering certain executive officers and a non-qualified deferred compensation plan covering members of the Board of Directors and certain key employees.  Our liability under the supplemental benefit plan was approximately &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$1.9 million and $2.9 million as of October&#160;31, 2022 and 2021, and our liability under the deferred compensation plan was approximately $3.3 million a&lt;/span&gt;nd $3.4 million, respectively.  As of October&#160;31, 2022 and 2021, the current portion of these liabilities was recorded under the caption &#x201c;Accrued Liabilities,&#x201d; and the long-term portion was included under the caption &#x201c;Other Liabilities&#x201d; in the accompanying balance sheets.</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:ScheduleOfNetFundedStatusTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4Mjc_f3e923d2-455d-4699-aacc-e72c74a7ccf4">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in benefit obligation and plan assets, and our funded status (reported in deferred pension and postretirement benefits on the consolidated balance sheets) were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:71.162%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.135%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Change in Benefit Obligation:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021 and 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;850&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;756&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Actuarial 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:10pt;font-weight:400;line-height:100%"&gt;(6,944)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(849)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(349)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(359)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(604)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,619)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,112)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Projected benefit obligation at October 31, 2022 and 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,529&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,379&#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:8pt;font-weight:700;line-height:100%"&gt;Change in Plan Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2021 and 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,120&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Actual return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,458)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,225&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Employer contributions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(349)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(359)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(604)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(732)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,619)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,112)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Fair value of plan assets at October 31, 2022 and 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,612&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,642&#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:10pt;font-weight:400;line-height:100%"&gt;Noncurrent liability - Funded Status&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,917)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,737)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetFundedStatusTableTextBlock>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzItMS0xLTEtMzkxNTc_bd70ab48-fc87-4535-9fe5-5e5cabf48153"
      unitRef="usd">42379000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzItMy0xLTEtMzkxNTc_0273fa70-3f41-4943-b348-1992881926e3"
      unitRef="usd">44825000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzMtMS0xLTEtMzkxNTc_85cf2c99-9c39-4038-925b-bf7754c3f0eb"
      unitRef="usd">860000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzMtMy0xLTEtMzkxNTc_2eef5cee-8663-4d40-a1df-b43578d51a5f"
      unitRef="usd">850000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzQtMS0xLTEtMzkxNTc_cee36fa2-49f2-48b1-a739-38fc48cc3ca1"
      unitRef="usd">806000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzQtMy0xLTEtMzkxNTc_860595ea-4a6d-478b-98bf-78a0b0c3253f"
      unitRef="usd">756000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzUtMS0xLTEtMzkxNTc_f0297804-22e2-4b13-9cb5-b8cade63c5f8"
      unitRef="usd">6944000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzUtMy0xLTEtMzkxNTc_f5f7c0ce-9aa8-4ff3-8e87-c216458082ef"
      unitRef="usd">849000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzYtMS0xLTEtMzkxNTc_28abcd61-de31-4a2f-b876-9173646c2c94"
      unitRef="usd">349000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzYtMy0xLTEtMzkxNTc_78e29771-7546-4377-b44c-acc41c5006cd"
      unitRef="usd">359000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanAdministrationExpenses
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzctMS0xLTEtMzkxNTc_7f8aac44-a7cc-4af8-8388-628aa94fcbe7"
      unitRef="usd">604000</us-gaap:DefinedBenefitPlanAdministrationExpenses>
    <us-gaap:DefinedBenefitPlanAdministrationExpenses
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzctMy0xLTEtMzkxNTc_340bf4f0-afc6-4d51-87bd-4133a06dce4c"
      unitRef="usd">732000</us-gaap:DefinedBenefitPlanAdministrationExpenses>
    <us-gaap:DefinedBenefitPlanSettlementsBenefitObligation
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzktMS0xLTEtMzkxNTc_e78c887f-52c8-4493-8e6a-edd3205b1822"
      unitRef="usd">3619000</us-gaap:DefinedBenefitPlanSettlementsBenefitObligation>
    <us-gaap:DefinedBenefitPlanSettlementsBenefitObligation
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzktMy0xLTEtMzkxNTc_2aa82a53-4696-4f2d-ba74-f3b290765e9e"
      unitRef="usd">2112000</us-gaap:DefinedBenefitPlanSettlementsBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzEwLTEtMS0xLTM5MTU3_b906e9dc-d294-4bba-8560-eeb73e33ba19"
      unitRef="usd">32529000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzEwLTMtMS0xLTM5MTU3_4546c1c3-e4c2-4bb9-9afc-5d83cc53e169"
      unitRef="usd">42379000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzEyLTEtMS0xLTM5MTU3_13e7d2b5-fe44-45b2-a7ca-cc94826a8884"
      unitRef="usd">37642000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzEyLTMtMS0xLTM5MTU3_d793b067-8b1b-49d2-8bc1-54c0461fbbcb"
      unitRef="usd">34120000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzEzLTEtMS0xLTM5MTU3_5655d8c4-ca9a-4920-97a6-2715bdd7dc8b"
      unitRef="usd">-4458000</us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzEzLTMtMS0xLTM5MTU3_3a0edb22-178d-4389-a3fc-4318c9762844"
      unitRef="usd">6225000</us-gaap:DefinedBenefitPlanActualReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE0LTEtMS0xLTM5MTU3_a9696621-5b96-42fc-8a79-ecc79b8eccc3"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE0LTMtMS0xLTM5MTU3_13abdcd8-d7ef-4f48-93fa-44330f65fdea"
      unitRef="usd">500000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE1LTEtMS0xLTM5MTU3_ed359ede-334f-4435-81bb-7d51336a0503"
      unitRef="usd">349000</us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid>
    <us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE1LTMtMS0xLTM5MTU3_bfa482d6-3ebf-4c9c-b16d-d49bc29afe4a"
      unitRef="usd">359000</us-gaap:DefinedBenefitPlanPlanAssetsBenefitsPaid>
    <us-gaap:DefinedBenefitPlanAdministrationExpenses
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE2LTEtMS0xLTM5MTU3_fe12c97f-dc9c-4b96-9e64-d32beb9fd6da"
      unitRef="usd">604000</us-gaap:DefinedBenefitPlanAdministrationExpenses>
    <us-gaap:DefinedBenefitPlanAdministrationExpenses
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE2LTMtMS0xLTM5MTU3_71b32129-3edd-4a96-b265-972322cdd561"
      unitRef="usd">732000</us-gaap:DefinedBenefitPlanAdministrationExpenses>
    <us-gaap:DefinedBenefitPlanSettlementsPlanAssets
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE3LTEtMS0xLTM5MTU3_74179ce9-0df1-41e5-808d-d46c15d618ca"
      unitRef="usd">3619000</us-gaap:DefinedBenefitPlanSettlementsPlanAssets>
    <us-gaap:DefinedBenefitPlanSettlementsPlanAssets
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE3LTMtMS0xLTM5MTU3_049c2044-11e4-4f53-a71d-884341ec2577"
      unitRef="usd">2112000</us-gaap:DefinedBenefitPlanSettlementsPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE4LTEtMS0xLTM5MTU3_a481b76e-9268-441f-8f4b-1d47eed90e47"
      unitRef="usd">28612000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE4LTMtMS0xLTM5MTU3_9b163965-3ef0-4a43-a6ce-325068a83f77"
      unitRef="usd">37642000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <nx:DefinedBenefitPlanFundedUnfundedStatusofPlan
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE5LTEtMS0xLTM5MTU3_d8cf203c-513a-481d-8cb1-c32d1b0d6095"
      unitRef="usd">3917000</nx:DefinedBenefitPlanFundedUnfundedStatusofPlan>
    <nx:DefinedBenefitPlanFundedUnfundedStatusofPlan
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpiODg0Mjg3ZTBmZjA0ZjY5YjlhNmY2OWJjZTAyNzczMS90YWJsZXJhbmdlOmI4ODQyODdlMGZmMDRmNjliOWE2ZjY5YmNlMDI3NzMxXzE5LTMtMS0xLTM5MTU3_19981d02-3e2b-409b-9381-25a999dcb0f0"
      unitRef="usd">4737000</nx:DefinedBenefitPlanFundedUnfundedStatusofPlan>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzI2NzU_7eee457c-aee0-4ea1-a385-0468340926b4"
      unitRef="usd">-3600000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzI2ODI_8dd2056e-b025-431d-b893-f4cca4ad6f64"
      unitRef="usd">-4500000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax>
    <us-gaap:DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzI4NTI_511a598b-5340-4d18-a51c-7d12fe06a0c8"
      unitRef="usd">32500000</us-gaap:DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation>
    <us-gaap:DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzI4NTk_92d70cd3-c580-4a40-8229-258cc6ff0ad6"
      unitRef="usd">42400000</us-gaap:DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4Mzk_9df811e8-17d1-4c0a-8de5-acf684319062">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net periodic benefit cost for the years ended October&#160;31, 2022, 2021 and 2020, was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,262&#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:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,139&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzQtMC0xLTEtMzkxNTc_aaae8ae0-3363-49b1-a748-8b8bc43cc840"&gt;Expected return on plan assets&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,991)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,960)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,006)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Amortization of 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:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzYtMC0xLTEtMzkxNTc_0a99f31f-2e81-4310-9840-491f4b3b23a8"&gt;Settlements&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Net periodic benefit cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzItMS0xLTEtMzkxNTc_e443e6c5-b857-4103-9b92-33bb535bf298"
      unitRef="usd">860000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzItMy0xLTEtMzkxNTc_c1f1c845-1023-4fec-8391-69d2b76204e9"
      unitRef="usd">850000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzItNS0xLTEtMzkxNTc_ff0d6e44-8da0-4846-af4f-cf844c24e1bf"
      unitRef="usd">1262000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzMtMS0xLTEtMzkxNTc_4ec6d981-dd7c-4836-9924-b33cce9b5ce1"
      unitRef="usd">806000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzMtMy0xLTEtMzkxNTc_1450c51f-95ff-46a8-98c5-be953ed5d2e6"
      unitRef="usd">756000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzMtNS0xLTEtMzkxNTc_ff831965-76c7-4b07-9125-64e1e6a556ac"
      unitRef="usd">1139000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzQtMS0xLTEtMzkxNTc_cf25d2a4-e3b1-4f81-acc1-d184b4534e28"
      unitRef="usd">1991000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzQtMy0xLTEtMzkxNTc_9183adf5-69d1-48b9-8c08-916b31c81103"
      unitRef="usd">1960000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzQtNS0xLTEtMzkxNTc_7c9cbe3e-eafd-4448-b5e3-edb87e143421"
      unitRef="usd">2006000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzUtMS0xLTEtMzkxNTc_df5228f8-4549-400b-bdb2-80fd2d0e96e5"
      unitRef="usd">-6000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzUtMy0xLTEtMzkxNTc_10d8887e-47d2-42fe-a0ed-0e05f4f0c86e"
      unitRef="usd">-143000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzUtNS0xLTEtMzkxNTc_5e75dda2-7449-4ae1-855d-ce613adaf0c1"
      unitRef="usd">-162000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzYtMS0xLTEtMzkxNTc_373f9a02-2461-49d8-ba74-59a4b071e7d1"
      unitRef="usd">-396000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzYtMy0xLTEtMzkxNTc_17afbce6-a4fc-4c78-b17e-29706db230ad"
      unitRef="usd">-222000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzYtNS0xLTEtMzkxNTc_ca123c99-e05d-49ab-bf15-a8395d7bf417"
      unitRef="usd">-462000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzctMS0xLTEtMzkxNTc_af939ef4-1ce0-417d-86c0-cbf1217ebb0d"
      unitRef="usd">77000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzctMy0xLTEtMzkxNTc_d29f4bb5-fc73-4825-8157-b11b9b2a94ac"
      unitRef="usd">11000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpkOWUzMjY0MjFlMDY0MGY4ODQzMmNlMWVlMGJjNmJlMy90YWJsZXJhbmdlOmQ5ZTMyNjQyMWUwNjQwZjg4NDMyY2UxZWUwYmM2YmUzXzctNS0xLTEtMzkxNTc_514c06b6-a954-43e6-94f8-45ac15092790"
      unitRef="usd">1019000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4NjE_cb4fdfac-8f8b-498e-8e37-a55e5713a628">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in plan assets and projected benefit obligations which were recognized in our other comprehensive loss for the years ended October&#160;31, 2022, 2021 and 2020 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net (gain) loss arising during the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(495)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Amortization of 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:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzQtMC0xLTEtMzkxNTc_6872cd53-3594-4d49-8d1d-34171c946801"&gt;Less: Curtailments&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,141&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Less: Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total recognized in other comprehensive (income) loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,477)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAmountsRecognizedInOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzItMS0xLTEtMzkxNTc_518fe498-0453-42b4-b0dc-ac7de3f31d0a"
      unitRef="usd">495000</us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzItMy0xLTEtMzkxNTc_92126054-4911-476f-8e4f-73b1b4492fdf"
      unitRef="usd">5112000</us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzItNS0xLTEtMzkxNTc_53a2003b-92bf-48ea-8b60-749a76938644"
      unitRef="usd">-2141000</us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax>
    <nx:DefinedBenefitPlanAmortizationofGainslossesNet
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzMtMS0xLTEtMzkxNTc_bd742e20-f809-4279-abc1-1ec87c523af4"
      unitRef="usd">-6000</nx:DefinedBenefitPlanAmortizationofGainslossesNet>
    <nx:DefinedBenefitPlanAmortizationofGainslossesNet
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzMtMy0xLTEtMzkxNTc_1bc6888d-75c7-4d8e-ad6a-bff0521c3212"
      unitRef="usd">-143000</nx:DefinedBenefitPlanAmortizationofGainslossesNet>
    <nx:DefinedBenefitPlanAmortizationofGainslossesNet
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzMtNS0xLTEtMzkxNTc_e9e6e276-4e6e-43f5-bcd5-999f547e7d71"
      unitRef="usd">-162000</nx:DefinedBenefitPlanAmortizationofGainslossesNet>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzQtMS0xLTEtMzkxNTc_8430ec2c-96d9-4994-b784-8705ac62128c"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzQtMy0xLTEtMzkxNTc_ecefa5c4-3317-4781-9844-33e937ebcccb"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzQtNS0xLTEtMzkxNTc_9a17dc87-6f29-4385-8a34-d7a6f2a20517"
      unitRef="usd">-1141000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzUtMS0xLTEtMzkxNTc_c819bd09-e5ef-468e-b064-04063dd5272e"
      unitRef="usd">-396000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzUtMy0xLTEtMzkxNTc_aebce5e7-04d8-4111-9642-9407310e8853"
      unitRef="usd">-222000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzUtNS0xLTEtMzkxNTc_6ab067dc-d243-4ae0-b4b0-8ffc2000d1c0"
      unitRef="usd">-462000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzYtMS0xLTEtMzkxNTc_25541db2-b0d3-4130-b565-25997acd778a"
      unitRef="usd">897000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzYtMy0xLTEtMzkxNTc_ca7cf147-2a24-4540-b231-54e041defcf2"
      unitRef="usd">5477000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTplNjI0ZGM5Mzg1ZDk0ODZmOTRmYjQ1NDIwYWJlMjFhYi90YWJsZXJhbmdlOmU2MjRkYzkzODVkOTQ4NmY5NGZiNDU0MjBhYmUyMWFiXzYtNS0xLTEtMzkxNTc_46c80155-2d7a-453c-b9e8-25bc9dbe8c6f"
      unitRef="usd">-376000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax>
    <us-gaap:ScheduleOfAssumptionsUsedTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4Njg_90be9495-8155-42f8-8ad1-1eb9125aeb72">The following table presents our assumptions for pension benefit calculations for the years ended October&#160;31, 2022, 2021 and 2020:&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.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.682%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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-weight:700;line-height:100%"&gt;For the Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Assumptions:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Benefit Obligation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Net Periodic Benefit Cost&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.36%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;2.77%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;3.22%&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;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:10pt;font-weight:400;line-height:100%"&gt;2.77%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;2.60%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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:10pt;font-weight:400;line-height:100%"&gt;3.10%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rate of compensation increase&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;n/a&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;n/a&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;n/a&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAssumptionsUsedTableTextBlock>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzMtMS0xLTEtMzkxNTc_e1d76c83-c079-4de5-a997-ad4119e733b1"
      unitRef="number">0.0536</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzMtMy0xLTEtMzkxNTc_25335ca0-8300-4dfb-aedf-5640044f777a"
      unitRef="number">0.0277</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzMtNS0xLTEtMzkxNTc_2469ca64-7308-494a-ac3a-a255f23cf556"
      unitRef="number">0.0322</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzMtNy0xLTEtMzkxNTc_4c555dff-2504-47b4-bc61-51e985af96f3"
      unitRef="number">0.0277</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzMtOS0xLTEtMzkxNTc_c3d29db3-150a-4546-9ab6-314c161ef6aa"
      unitRef="number">0.0260</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzMtMTEtMS0xLTM5MTU3_fc176c5f-7ae4-444b-9e6a-fd00c5f80665"
      unitRef="number">0.0310</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzQtMS0xLTEtMzkxNTc_91ac2068-91ff-45d7-8120-fbd1bef7a774"
      unitRef="number">0</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzQtMy0xLTEtMzkxNTc_ba7a1344-3a94-4621-8e1f-fcaa1fbfdf01"
      unitRef="number">0</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzQtNS0xLTEtMzkxNTc_69c87edb-584b-4627-9e9c-c7d5fab80c9a"
      unitRef="number">0</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzQtNy0xLTEtMzkxNTc_bebaa89d-11f7-413a-a742-82f5debc7532"
      unitRef="number">0</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzQtOS0xLTEtMzkxNTc_e35c47d1-e34a-4fd3-84e8-489f45beee03"
      unitRef="number">0</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzQtMTEtMS0xLTM5MTU3_f3a525f4-17a6-42e9-80ae-5fb9c389b3aa"
      unitRef="number">0</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzUtNy0xLTEtMzkxNTc_301b8ae2-c459-4d04-b285-4bc76e8c61ea"
      unitRef="number">0.0550</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzUtOS0xLTEtMzkxNTc_ea8fb21d-cf27-4144-b681-d1f003a3aee4"
      unitRef="number">0.0600</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowNzZhMWNkYTAxMTk0MDY1OTEzN2Q1YjgxZmIzYmYyNi90YWJsZXJhbmdlOjA3NmExY2RhMDExOTQwNjU5MTM3ZDViODFmYjNiZjI2XzUtMTEtMS0xLTM5MTU3_65c2583e-f227-4098-9712-096a5783f4f1"
      unitRef="number">0.0650</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets>
    <us-gaap:ScheduleOfAllocationOfPlanAssetsTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4NDc_d777db97-cae7-42a6-a024-ea4bb39d1395">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables provide our target allocation for the year ended October&#160;31, 2022, as well as the actual asset allocation by asset category and fair value measurements as of October&#160;31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.380%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.472%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Target Allocation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Actual Allocation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 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:8pt;font-weight:700;line-height:100%"&gt;October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.907%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.444%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements at&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 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-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market fund&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300&#160;&lt;/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 style="height:12pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Large capitalization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:10pt;font-weight:400;line-height:100%"&gt;8,231&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Small capitalization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,493&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;International 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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,992&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;High-quality core bond&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,787&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;High-quality government bond&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,301&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;High-yield bond&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;577&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,302&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total securities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAllocationOfPlanAssetsTableTextBlock>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="ic5e4270416784f31b02e546640c1ab7f_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowYjhlZjkzMTg3MTA0YmFlOThmNzI3ZjRhOThkZmNkNy90YWJsZXJhbmdlOjBiOGVmOTMxODcxMDRiYWU5OGY3MjdmNGE5OGRmY2Q3XzItMS0xLTEtMzkxNTc_a938a9b4-f655-4a21-9565-e63787f9d35c"
      unitRef="number">0</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="ic5e4270416784f31b02e546640c1ab7f_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowYjhlZjkzMTg3MTA0YmFlOThmNzI3ZjRhOThkZmNkNy90YWJsZXJhbmdlOjBiOGVmOTMxODcxMDRiYWU5OGY3MjdmNGE5OGRmY2Q3XzItMy0xLTEtMzkxNTc_6d5c2b32-7329-4f6e-8627-0ff35ad7b0f2"
      unitRef="number">0</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i97a283050ac5457fbfd13939e6d3ede4_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowYjhlZjkzMTg3MTA0YmFlOThmNzI3ZjRhOThkZmNkNy90YWJsZXJhbmdlOjBiOGVmOTMxODcxMDRiYWU5OGY3MjdmNGE5OGRmY2Q3XzItNS0xLTEtMzkxNTc_c3747336-5372-482c-a251-ded21b3ba60f"
      unitRef="number">0.510</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage
      contextRef="i861b84b8b3a743ba9626860007d402d7_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowYjhlZjkzMTg3MTA0YmFlOThmNzI3ZjRhOThkZmNkNy90YWJsZXJhbmdlOjBiOGVmOTMxODcxMDRiYWU5OGY3MjdmNGE5OGRmY2Q3XzMtMS0xLTEtMzkxNTc_cece0700-5b79-4a78-941a-4bc95bad6c0e"
      unitRef="number">1.000</us-gaap:DefinedBenefitPlanPlanAssetsTargetAllocationPercentage>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i861b84b8b3a743ba9626860007d402d7_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowYjhlZjkzMTg3MTA0YmFlOThmNzI3ZjRhOThkZmNkNy90YWJsZXJhbmdlOjBiOGVmOTMxODcxMDRiYWU5OGY3MjdmNGE5OGRmY2Q3XzMtMy0xLTEtMzkxNTc_625d3fd5-b83f-4110-aae7-a900826b2164"
      unitRef="number">1.000</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations
      contextRef="i976abb3aec3544a4a159f665253cf935_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTowYjhlZjkzMTg3MTA0YmFlOThmNzI3ZjRhOThkZmNkNy90YWJsZXJhbmdlOjBiOGVmOTMxODcxMDRiYWU5OGY3MjdmNGE5OGRmY2Q3XzMtNS0xLTEtMzkxNTc_28db4300-bcd1-46a0-b229-5e325b980669"
      unitRef="number">0.490</us-gaap:DefinedBenefitPlanWeightedAverageAssetAllocations>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="iae75f847b7674213b1e1f5f2c40f014e_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzMtMS0xLTEtMzkxNTc_e7c93765-664a-4017-9336-4d5a1c53713c"
      unitRef="usd">22508000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i5f2e8801dd9e4fdea7b6e0b480b3127f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzMtMy0xLTEtMzkxNTc_534e202e-9ef5-4d60-a1fd-60283be90dda"
      unitRef="usd">300000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i10b451fbdaed4c50b33a315837d2d2e2_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzUtMS0xLTEtMzkxNTc_609a669e-7b2b-4455-a834-da937fe85c4c"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i50208268c33a427298f2557fbe26f4bd_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzUtMy0xLTEtMzkxNTc_6642187f-dca4-4ef5-8c4b-30367fa5d2be"
      unitRef="usd">8231000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i7b1a4b381e7c4194a7386c7f062aa745_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzYtMS0xLTEtMzkxNTc_67c26be9-a40b-46f9-ab66-81aa8962bbe8"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i5c28dc8c6ca14d068169d9716f1bf758_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzYtMy0xLTEtMzkxNTc_fb35e730-2b65-4396-b357-370e97dd0a84"
      unitRef="usd">1493000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="iae52212fb741429aa38a19b338e26ce9_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzctMS0xLTEtMzkxNTc_bda9b199-d723-4950-8172-ecddfb5dfc20"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i8bd642963b6843a6b876b16c9c0b47f0_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzctMy0xLTEtMzkxNTc_5cef27dd-b755-4f34-aeaa-2fbcf3409d4f"
      unitRef="usd">6992000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i3cf2de514ed348ff95f6db53b37df226_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzgtMS0xLTEtMzkxNTc_8dbedeb7-48ab-4d92-ad87-b423be1f0cbc"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="if949857ee5614226847cd67a8c0f69d6_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzgtMy0xLTEtMzkxNTc_5f2dc992-ad5b-472f-b2ab-111b5cab06a5"
      unitRef="usd">2236000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="ic5e4270416784f31b02e546640c1ab7f_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzktMS0xLTEtMzkxNTc_40aca6ec-4a66-4ea6-a3d6-57026b56da00"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i97a283050ac5457fbfd13939e6d3ede4_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzktMy0xLTEtMzkxNTc_74b3cf55-9833-4d72-bb21-88441ac8a9de"
      unitRef="usd">18952000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i16253bb2228c4d88910e3c6155e2b83e_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzExLTEtMS0xLTM5MTU3_59e14207-2991-4f9a-9b57-57025110bf70"
      unitRef="usd">4980000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i268e6123f5ba482a84ebc4e7d1cffc21_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzExLTMtMS0xLTM5MTU3_f6774178-8c91-42ab-8e74-4e5c3a37db20"
      unitRef="usd">13787000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="iec26ff5de7734841839b0e51b897cd6a_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzEyLTEtMS0xLTM5MTU3_62c89248-616d-4e63-85c0-1655c10edfd4"
      unitRef="usd">547000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="iaea076a8ff364a489bfe2a85d7a298bf_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzEyLTMtMS0xLTM5MTU3_38327122-272c-4db4-ba97-34f29770680b"
      unitRef="usd">2301000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i0b61ffe45f624a5692c1f5379b572a3d_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzEzLTEtMS0xLTM5MTU3_4898c87a-69ee-4065-afe2-74b30917c16f"
      unitRef="usd">577000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="ib68a560464844a82a59ef00bdd4347ad_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzEzLTMtMS0xLTM5MTU3_f84f8065-3b53-40c1-b7da-8362ad88e139"
      unitRef="usd">2302000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i861b84b8b3a743ba9626860007d402d7_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzE0LTEtMS0xLTM5MTU3_5b994962-ee84-499c-b5b6-d3eaab0a5e08"
      unitRef="usd">6104000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i976abb3aec3544a4a159f665253cf935_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzE0LTMtMS0xLTM5MTU3_16408102-5145-4ee0-8d3a-ebe719af4673"
      unitRef="usd">18390000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzE1LTEtMS0xLTM5MTU3_dfb613c1-414f-405a-a047-051687010e92"
      unitRef="usd">28612000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTpjNWI0NGI1N2QxNTk0MjFlODBjYTJmYTE4MThhMDJhMS90YWJsZXJhbmdlOmM1YjQ0YjU3ZDE1OTQyMWU4MGNhMmZhMTgxOGEwMmExXzE1LTMtMS0xLTM5MTU3_af248c05-242e-47c5-ad1f-703730607d8b"
      unitRef="usd">37642000</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzY3Mjg_d7302024-bdd9-4b35-9f7d-8a7c3f56c774"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzY3MzI_0cf05de4-ae4e-422d-9893-987598d54e9c"
      unitRef="usd">500000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzY3Mzk_486cd8c7-1cf1-4fee-b7fa-2eb6d2af69d8"
      unitRef="usd">3700000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg4NDU_c94663f9-7be7-4ddd-9b43-109e843cb308">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the total benefit payments expected to be paid to participants by year, which includes payments funded from our assets, as well as payments paid from the plan for the year ended October 31, (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Pension Benefits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,880&#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:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;729&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;750&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;704&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;2028 - 2032&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,415&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,248&#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;</us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzEtMS0xLTEtMzkxNTc_44465fd5-febb-4056-ab3f-6d1ec72d3c09"
      unitRef="usd">22880000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzItMS0xLTEtMzkxNTc_9655fde8-6c5b-43da-8852-8ef54c31248b"
      unitRef="usd">729000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzMtMS0xLTEtMzkxNTc_b4d900d4-268e-4320-95a4-5b75aeff9a1b"
      unitRef="usd">770000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzQtMS0xLTEtMzkxNTc_c61d65e2-1d83-496b-9333-6a2da150df3f"
      unitRef="usd">750000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzUtMS0xLTEtMzkxNTc_8eb0d4bf-d0b9-4134-8b3d-a96266452912"
      unitRef="usd">704000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzYtMS0xLTEtMzkxNTc_7d7d436e-77f7-4df4-b2e6-a1b8ef979de0"
      unitRef="usd">3415000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter>
    <nx:DefinedBenefitPlanExpectedFutureBenefitPayments
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90YWJsZTo1ZWFkYTIyNDRiNjM0ZmFhYTg0ZmVhOTE2MTA0OGUyYS90YWJsZXJhbmdlOjVlYWRhMjI0NGI2MzRmYWFhODRmZWE5MTYxMDQ4ZTJhXzctMS0xLTEtMzkxNTc_e5a41e4b-2227-41b3-aa23-10fa1b5f7dec"
      unitRef="usd">29248000</nx:DefinedBenefitPlanExpectedFutureBenefitPayments>
    <nx:NumberOfDefinedContributionPlans
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc1ODQ_ecf162a7-b9a5-4de9-b164-e2d4af68d638"
      unitRef="plan">2</nx:NumberOfDefinedContributionPlans>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i68e664e3cdf349bebca6c368bbbde7a9_D20210101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc2OTk_8119eef6-0af0-465a-921b-d89a8c3d4f15"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="i68e664e3cdf349bebca6c368bbbde7a9_D20210101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc3MTg_2b965554-613f-4e75-a3c4-4b2f072095e6"
      unitRef="number">0.05</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i68e664e3cdf349bebca6c368bbbde7a9_D20210101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc4NTA_0860ba13-3e8f-4cb7-8653-a4ad05866692"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="i1f4a4e3e31f4410496d279c820cd31a9_D20210101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc4NjU_9e9d86a4-1459-4dbf-8f3d-e207365d65a8"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="ie2eb5aa4bb0f4bd6936d1a2c65affed3_D20180101-20200101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc5NjI_a1ec33d3-ecfc-4d1f-b989-23f978b37e99"
      unitRef="number">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="ie2eb5aa4bb0f4bd6936d1a2c65affed3_D20180101-20200101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzc5ODE_430027c2-e7ce-49af-93bd-916f306af7f3"
      unitRef="number">0.05</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzgxNjA_a1d7471c-84fb-495b-bf36-ca831e062032"
      unitRef="usd">6800000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzgxNjQ_64a74635-d379-4a1c-a15a-078bc7245a4c"
      unitRef="usd">6300000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzgxNzE_2e4c9a47-9e8c-46fa-91c8-02bfaf220034"
      unitRef="usd">4800000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg0Nzc_8f9f88c0-3abb-4ab1-a1eb-65c568db9590"
      unitRef="usd">1900000</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg0ODQ_77b0ec8e-ff9f-4d32-a3ff-b87b2f0fb100"
      unitRef="usd">2900000</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent>
    <us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg1Nzc_1029da70-96fd-46ed-8974-1729453ec591"
      unitRef="usd">3300000</us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTUvZnJhZzo3ZGRkYWUyZmRjOGQ0ZjYxODFlMWFkZjA4ZjU3NzNmYi90ZXh0cmVnaW9uOjdkZGRhZTJmZGM4ZDRmNjE4MWUxYWRmMDhmNTc3M2ZiXzg1ODQ_241eed0b-5003-4f96-b2f9-99232369455b"
      unitRef="usd">3400000</us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzcyNjI_cd447a08-6528-4e9e-a9df-fa2aa370a106">Income Taxes &lt;div style="text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The provision or benefit for income taxes includes U.S. federal income taxes (determined on a consolidated return basis), foreign income taxes and state income taxes.  We provide for income taxes on taxable income at the applicable statutory rates. The following table summarizes the components of income tax expense for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:56.940%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,043&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State and local&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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:10pt;font-weight:400;line-height:100%"&gt;6,889&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,445&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,993&#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:10pt;font-weight:400;line-height:100%"&gt;Deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(842)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;State and local&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(229)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(315)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(189)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 61.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For financial reporting purposes, income before income taxes for the years ended October&#160;31, 2022, 2021 and 2020 includes the following components (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,229&#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:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,071&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles our effective income tax rate to the federal statutory rate for the years ended October&#160;31, 2022, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:56.940%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States tax at statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State and local income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-United States income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.K. patent box benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. income tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net U.S. tax on non-United States earnings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-cash compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.5&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.9&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.5&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Our earnings from our foreign subsidiaries are not subject to significant withholding taxes upon remittances to the U.S..  As a result, we do not anticipate any significant future tax impacts from any potential repatriation of previously unremitted foreign earnings.  The amount of undistributed foreign earnings from international operations as of the years ended October 31, 2022 and 2021, respectively, was $19.8&#160;million and $15.1&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant components of our net deferred tax liabilities and assets were as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employee benefit obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,591&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,425&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Pension and other benefit obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;894&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Loss and tax credit carry forwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets, net of valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,187&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill and intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,412&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net deferred tax 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,277&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,965&#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;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At October&#160;31, 2022, state operating loss carry forwards totaled &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$31.3 million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The majority of these losses begin to expire in 2033.  We evaluate tax benefits of operating losses and tax credit carry forwards on an ongoing basis, including a review of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;historical and projected future operating results, the eligible carry forward period and other circumstances. We have recorded a valuation allowance for&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; certain state net operating losses as of October&#160;31, 2022 and 2021, totaling $0.5 million and $1.2&#160;million, respectively.  During the year ended October 31, 2022, we recorded a net $0.7 million decrease in our state va&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;luation allowances. The valuation allowances can be affected in future periods by changes to tax laws, changes to statutory tax rates, and changes in estimates of future taxable income. To fully realize these net deferred tax assets, we will need to generate sufficient future taxable income in the countries where these tax attributes exist during the periods in which the attributes can be utilized. As of each reporting date, management considers the weight of all evidence, both positive and negative, to determine if a valuation allowance is necessary for each jurisdiction&#x2019;s net deferred tax assets. We place greater weight on historical evidence over future predictions of our ability to utilize net deferred tax assets. We consider future reversals of existing taxable temporary differences, future taxable income exclusive of reversing temporary differences, and taxable income in prior carryback year(s) if carryback is permitted under applicable law.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the change in the unrecognized income tax benefit associated with uncertain tax positions for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:83.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrecognized&lt;br/&gt;Income Tax Benefits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;556&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to the prior year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reassessment of position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to the prior year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reassessment of position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(87)&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,388&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reassessment of position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27)&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,361&#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="text-indent:22.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022, our liability for unrecognized tax benefits &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;of $1.4 million&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; related to certain U.S. federal and state tax items regarding the interpretation of tax laws and regulations, including a minimal amount of interest and penalties. We include all interest and penalties related to uncertain tax benefits within our income tax provision account. To the extent interest and penalties are not assessed with respect to uncertain tax positions or the uncertainty of deductions in the future, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We, along with our su&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;bsidiaries, file income tax returns in the U.S. and various state jurisdictions as well as in the U.K., Germany and Canada. In certain jurisdictions, the statute of limitations has not yet expired. We generally remain subject to examination of our U.S. income tax returns for 2018 and subsequent years. We generally remain subject to examination of our various state and foreign income tax returns for a period of four to five years from the date the return was filed. The state impact of any federal changes remains subject to examination by various stat&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;es for a period of up to one year after formal notification to the state of the federal change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Judgment is required in assessing the future tax consequences of events that have been recognized in our financial statements or tax returns. The final outcome of the future tax consequences of legal proceedings, if any, changes in regulatory tax laws or interpretation of those tax laws could impact our financial statements.  We are subject to the effect of these matters occurring in various jurisdictions.  Our total unrecognized tax benefits, if recognized, would not materially affect our effective tax rate. The recorded amount of unrecognized tax benefits may decrease by approximately $1.0 million with in the next twelve months as a result of the upcoming closing of a statute of limitations.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzcyNjM_c17ef083-0602-4348-a6b1-a4bf8ab8cc46">The following table summarizes the components of income tax expense for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&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:56.940%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,043&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State and local&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,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:10pt;font-weight:400;line-height:100%"&gt;6,889&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,445&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,993&#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:10pt;font-weight:400;line-height:100%"&gt;Deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(842)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;State and local&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(229)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(315)&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(189)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 61.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzMtMS0xLTEtMzkxNTc_9d869d36-51d8-40fe-a1b3-8feaddba8754"
      unitRef="usd">11553000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzMtMy0xLTEtMzkxNTc_78382a77-ff25-4e95-b41a-edf9dc0cbf55"
      unitRef="usd">10993000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzMtNS0xLTEtMzkxNTc_31149a54-22a1-4906-845c-3e07aea50f10"
      unitRef="usd">6043000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzQtMS0xLTEtMzkxNTc_f94d2a6c-4597-4594-8090-4977e9a7cedb"
      unitRef="usd">740000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzQtMy0xLTEtMzkxNTc_5a13360c-4fdd-4394-a49e-bdc7f5d7d670"
      unitRef="usd">3447000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzQtNS0xLTEtMzkxNTc_4b98b25d-ebc7-4e41-9645-49afd539524e"
      unitRef="usd">1505000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzUtMS0xLTEtMzkxNTc_0a06d419-8327-400f-af38-423ea2b8afd5"
      unitRef="usd">7037000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzUtMy0xLTEtMzkxNTc_cf075665-7d96-4f55-be20-b66c38cf6d8b"
      unitRef="usd">6889000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzUtNS0xLTEtMzkxNTc_6398247d-5399-42df-ba35-36ff7d384eb5"
      unitRef="usd">4445000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzYtMS0xLTEtMzkxNTc_17198271-0b23-4155-80ab-9c386aca6500"
      unitRef="usd">19330000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzYtMy0xLTEtMzkxNTc_4aa7858f-249b-47e1-bd55-116b1c9220db"
      unitRef="usd">21329000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzYtNS0xLTEtMzkxNTc_f42854e1-00ac-437f-8e83-ee5f6717ee73"
      unitRef="usd">11993000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzgtMS0xLTEtMzkxNTc_fbc0cb5c-6b7b-4f3d-ad15-ecca5c06a952"
      unitRef="usd">2127000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzgtMy0xLTEtMzkxNTc_b96f061b-eb95-4ff0-b95f-951d8c2b75a3"
      unitRef="usd">-842000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzgtNS0xLTEtMzkxNTc_01a642f0-65ae-4a76-a2b2-b5b57287c44e"
      unitRef="usd">-64000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzktMS0xLTEtMzkxNTc_ec704b72-7171-4af3-9386-e0f17ecc4180"
      unitRef="usd">-229000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzktMy0xLTEtMzkxNTc_3fb5bc22-5233-4720-9d2b-439cfb5ff201"
      unitRef="usd">-277000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzktNS0xLTEtMzkxNTc_8f99782f-a4ea-4a25-aad3-7c69ba9cfc9b"
      unitRef="usd">-315000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzEwLTEtMS0xLTM5MTU3_3715222a-a98b-42d4-9a4b-fc2ce833bf3f"
      unitRef="usd">199000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzEwLTMtMS0xLTM5MTU3_4a708911-0048-4541-bcdc-0951cd10fdd4"
      unitRef="usd">2904000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzEwLTUtMS0xLTM5MTU3_c50a218b-2cb7-4f59-8ab3-795f1f403688"
      unitRef="usd">190000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzExLTEtMS0xLTM5MTU3_16a96b18-d6d8-4e6f-a39a-bf191f740072"
      unitRef="usd">2097000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzExLTMtMS0xLTM5MTU3_decb295a-bed8-464a-93e1-bddea26089ae"
      unitRef="usd">1785000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzExLTUtMS0xLTM5MTU3_c945faa8-44aa-47fd-bf4f-15e71820e344"
      unitRef="usd">-189000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzEyLTEtMS0xLTM5MTU3_6b66214d-c7c9-4193-a51c-17fbbe6ab1e8"
      unitRef="usd">21427000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzEyLTMtMS0xLTM5MTU3_3d1e8b89-6899-4879-af15-6d060861a880"
      unitRef="usd">23114000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTo0MmUwMmQwZmQxNGY0NDgwODg4OGNmZDNiNDNmMWFkMS90YWJsZXJhbmdlOjQyZTAyZDBmZDE0ZjQ0ODA4ODg4Y2ZkM2I0M2YxYWQxXzEyLTUtMS0xLTM5MTU3_9d7ba0b7-e2ca-4d19-b3ad-3fe9d5b37c62"
      unitRef="usd">11804000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzcyNTg_8ba60a96-ba8c-4bd1-a3be-0cef721383ae">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For financial reporting purposes, income before income taxes for the years ended October&#160;31, 2022, 2021 and 2020 includes the following components (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.696%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,229&#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:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,071&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzItMS0xLTEtMzkxNTc_e5647244-cebb-482c-9873-52798dff70d8"
      unitRef="usd">64850000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzItMy0xLTEtMzkxNTc_0f93736f-cadb-471c-8b44-511d82ca3945"
      unitRef="usd">36879000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzItNS0xLTEtMzkxNTc_0299e697-c24e-418c-8ac4-36f5b242d0fc"
      unitRef="usd">26229000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzMtMS0xLTEtMzkxNTc_deb40e3b-051c-4da1-b36c-1cb7c0dd92ba"
      unitRef="usd">44913000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzMtMy0xLTEtMzkxNTc_8708b88c-05dd-47ea-9a07-aa608b1b71be"
      unitRef="usd">43215000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzMtNS0xLTEtMzkxNTc_026eace0-8fb3-4521-a6c2-fbabdf3b2bb2"
      unitRef="usd">24071000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzQtMS0xLTEtMzkxNTc_cc8a8a91-cf69-4f93-bac2-df3182127900"
      unitRef="usd">109763000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzQtMy0xLTEtMzkxNTc_fac91f76-3d20-4d67-8f57-4283bbb8723d"
      unitRef="usd">80094000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkOTM3YjViZWY3YzU0MTEyOTBkY2U5YmI3MjdkOTlhMi90YWJsZXJhbmdlOmQ5MzdiNWJlZjdjNTQxMTI5MGRjZTliYjcyN2Q5OWEyXzQtNS0xLTEtMzkxNTc_6745772b-712d-44dc-84f6-3a2233448306"
      unitRef="usd">50300000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzcyNTk_bf7bc584-d239-4779-9803-a6e41eef54de">&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles our effective income tax rate to the federal statutory rate for the years ended October&#160;31, 2022, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:56.940%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States tax at statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State and local income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-United States income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.K. patent box benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. income tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net U.S. tax on non-United States earnings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-cash compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.5&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.9&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.5&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzItMS0xLTEtMzkxNTc_1e568e44-8a5c-4995-9d63-b4f64d182cea"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzItMy0xLTEtMzkxNTc_ce91db4a-f76e-47e5-aea4-3c9d669500d9"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzItNS0xLTEtMzkxNTc_99331b20-64bc-4baa-bd81-2edd14d24c33"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzMtMS0xLTEtMzkxNTc_bb5acf9c-a8b2-4c16-b285-63517c5c4c9f"
      unitRef="number">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzMtMy0xLTEtMzkxNTc_5d88392d-59a9-4b55-961e-09f04003fb1b"
      unitRef="number">0.031</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzMtNS0xLTEtMzkxNTc_9e6ea067-ce71-475b-af18-52d92867d4cc"
      unitRef="number">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzQtMS0xLTEtMzkxNTc_9247c872-596a-45d0-b34b-ff0cc1ba2fb6"
      unitRef="number">-0.008</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzQtMy0xLTEtMzkxNTc_618ae6d8-1a07-407e-b7b6-143bf8436678"
      unitRef="number">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzQtNS0xLTEtMzkxNTc_b8b81db2-0e80-499a-99bb-04812ca055ee"
      unitRef="number">0.012</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <nx:EffectiveIncomeTaxRateReconciliationUKPatentBoxBenefitPercent
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzUtMS0xLTEtMzkxNTc_68b11280-6db5-40c9-9ca2-e76c89568ce8"
      unitRef="number">-0.012</nx:EffectiveIncomeTaxRateReconciliationUKPatentBoxBenefitPercent>
    <nx:EffectiveIncomeTaxRateReconciliationUKPatentBoxBenefitPercent
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzUtMy0xLTEtMzkxNTc_6bc3b4bb-590a-479f-a6b6-da013b64b7ca"
      unitRef="number">-0.014</nx:EffectiveIncomeTaxRateReconciliationUKPatentBoxBenefitPercent>
    <nx:EffectiveIncomeTaxRateReconciliationUKPatentBoxBenefitPercent
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzUtNS0xLTEtMzkxNTc_6d27c097-10dc-441d-a102-560f85e15a6e"
      unitRef="number">-0.020</nx:EffectiveIncomeTaxRateReconciliationUKPatentBoxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzYtMS0xLTEtMzkxNTc_cf0f648e-9b8b-41ae-99aa-d7f5ad851a74"
      unitRef="number">0.032</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzYtMy0xLTEtMzkxNTc_a3001096-2a4f-4538-a27e-09174b9bc2e5"
      unitRef="number">0.042</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzYtNS0xLTEtMzkxNTc_7deda7d9-cd05-40a9-80c3-a1f78c1bb6ae"
      unitRef="number">0.023</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsForeign
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzEwLTEtMS0xLTM5MTU3_3149af95-0bcb-41e7-9d62-1ac544d2ff7f"
      unitRef="number">0.032</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsForeign
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzEwLTMtMS0xLTM5MTU3_00d4d585-353b-443d-be2c-d175c607c7e4"
      unitRef="number">0.042</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsForeign
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzEwLTUtMS0xLTM5MTU3_0e2e9d8e-7d61-483b-af71-c95e2e073848"
      unitRef="number">0.025</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE0LTEtMS0xLTM5MTU3_74119573-9a3e-4997-812f-7b6ca0bf581a"
      unitRef="number">-0.017</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE0LTMtMS0xLTM5MTU3_ed22c6c5-7b07-4916-aaa5-1452bd38c79f"
      unitRef="number">0.019</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE0LTUtMS0xLTM5MTU3_77b77049-eb61-42b9-9732-3681886a37d0"
      unitRef="number">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE1LTEtMS0xLTM5MTU3_b9f4d4a3-0d4c-4c8f-9995-f76d09d790d9"
      unitRef="number">0.018</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE1LTMtMS0xLTM5MTU3_186cb480-2e99-42b4-9dd7-d8de27338b49"
      unitRef="number">0.020</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE1LTUtMS0xLTM5MTU3_f009bff7-a9d2-4f57-afc5-0fe3e8648326"
      unitRef="number">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE2LTEtMS0xLTM5MTU3_4b5426b8-f7d0-43a4-ab15-7ff8ff8c2c00"
      unitRef="number">0.195</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE2LTMtMS0xLTM5MTU3_0714846d-aa61-4872-b081-1e96da54ae60"
      unitRef="number">0.289</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTphZWI5ZDMxZDVlMTE0M2E2YTE0YzkzOGJkZmYxMTAzYi90YWJsZXJhbmdlOmFlYjlkMzFkNWUxMTQzYTZhMTRjOTM4YmRmZjExMDNiXzE2LTUtMS0xLTM5MTU3_6b651342-5af3-422b-b447-d8053730f662"
      unitRef="number">0.235</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ForeignEarningsRepatriated
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzU0OTc1NTgyNzY0Mw_dec3621e-f345-440c-8e57-ac961d4c372e"
      unitRef="usd">19800000</us-gaap:ForeignEarningsRepatriated>
    <us-gaap:ForeignEarningsRepatriated
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzU0OTc1NTgyNzY1OA_27e186dc-3551-48be-93a8-cfacee7b8073"
      unitRef="usd">15100000</us-gaap:ForeignEarningsRepatriated>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzcyNDc_7dc1f7a6-e191-4e24-baf2-b395672dd331">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant components of our net deferred tax liabilities and assets were as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Employee benefit obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,591&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,425&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Pension and other benefit obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;894&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Loss and tax credit carry forwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/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 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets, net of valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,187&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill and intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,412&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net deferred tax 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,277&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,965&#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;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzMtMS0xLTEtMzkxNTc_6787d5e7-9fa3-475c-9743-20690a030eb6"
      unitRef="usd">8046000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzMtMy0xLTEtMzkxNTc_ac93d661-d642-483a-b5f5-eaf4c006acef"
      unitRef="usd">7591000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzQtMS0xLTEtMzkxNTc_5910b8eb-bf67-4d15-9478-aa07bce0761f"
      unitRef="usd">1430000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzQtMy0xLTEtMzkxNTc_ebc2fda8-b042-4111-8355-59190cfc9148"
      unitRef="usd">1425000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPensions
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzUtMS0xLTEtMzkxNTc_bd7af98e-7949-46cd-9e6a-9221b6cfd0ee"
      unitRef="usd">1426000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPensions>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPensions
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzUtMy0xLTEtMzkxNTc_7ee5d6b3-9bf8-4329-8b91-f1846d60ea97"
      unitRef="usd">1934000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPensions>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzYtMS0xLTEtMzkxNTc_790c228b-7c8f-4c9a-b29b-34a031f9d85f"
      unitRef="usd">1409000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzYtMy0xLTEtMzkxNTc_17043e61-b4e5-4456-a061-134629199caa"
      unitRef="usd">894000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzctMS0xLTEtMzkxNTc_0c44a2b7-0f9c-4037-8341-8eee65f7b537"
      unitRef="usd">1589000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzctMy0xLTEtMzkxNTc_e422b68d-fa30-4d2f-9355-a100951681d0"
      unitRef="usd">1857000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzgtMS0xLTEtMzkxNTc_0d90f382-312e-4af7-a9fd-5bdae922e41c"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzgtMy0xLTEtMzkxNTc_418d38b9-b878-4a84-8ecb-189fdfad07fa"
      unitRef="usd">107000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzktMS0xLTEtMzkxNTc_749311c9-2926-4c97-9420-f7d56c407fcc"
      unitRef="usd">13900000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzktMy0xLTEtMzkxNTc_754e56bb-24c9-47e2-9c5c-08c5c022b4de"
      unitRef="usd">13808000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzEwLTEtMS0xLTM5MTU3_fbab646e-3b96-4716-b3f3-71dc2fc235bd"
      unitRef="usd">534000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzEwLTMtMS0xLTM5MTU3_38d2d214-5128-4e2e-b052-bffa926397e9"
      unitRef="usd">1174000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzExLTEtMS0xLTM5MTU3_6a7619f3-0ee9-46f6-828f-c73dff7d81c5"
      unitRef="usd">13366000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzExLTMtMS0xLTM5MTU3_1d10193f-906f-4115-bf73-778cd102976c"
      unitRef="usd">12634000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzEzLTEtMS0xLTM5MTU3_0d6bdb89-2e9c-4e08-b648-b9271b8a2111"
      unitRef="usd">15467000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzEzLTMtMS0xLTM5MTU3_abfbf484-aef0-4bcc-b87b-d71bbdd66847"
      unitRef="usd">11187000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE0LTEtMS0xLTM5MTU3_fb8077cf-8540-4154-97a2-fd51ba306cfc"
      unitRef="usd">20162000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE0LTMtMS0xLTM5MTU3_2163d41b-1e3a-4a9b-93dd-28501f806fc7"
      unitRef="usd">23412000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE1LTEtMS0xLTQ4NjY3_7514328c-0768-4c0d-8a14-ba7c00984180"
      unitRef="usd">14000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE1LTMtMS0xLTQ4NjY3_15bfb911-ed62-44c2-a606-86937aac4e13"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE1LTEtMS0xLTM5MTU3_8f2268a4-117c-45ef-9e3c-9b30fdd8b60e"
      unitRef="usd">35643000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE1LTMtMS0xLTM5MTU3_2bde786f-521c-469a-87af-ce2580bd8c80"
      unitRef="usd">34599000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE2LTEtMS0xLTM5MTU3_b80bc8a6-8313-454d-873e-6fa833002097"
      unitRef="usd">22277000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpkYjUyYzIyYmU0ZTM0ZGQ5YmIyMTY0YWI2NWYwYmZiYy90YWJsZXJhbmdlOmRiNTJjMjJiZTRlMzRkZDliYjIxNjRhYjY1ZjBiZmJjXzE2LTMtMS0xLTM5MTU3_445267d2-a5f4-407d-bad0-45c7e0e351d9"
      unitRef="usd">21965000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzM0MjU_361026ae-3779-426a-90aa-5300cbfdeb69"
      unitRef="usd">31300000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwardsValuationAllowance
      contextRef="i4853db87196f44c3ba65d7c1e737c5e3_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzM4MTY_fff32bfd-e181-4f50-b453-54c9aeb01505"
      unitRef="usd">500000</us-gaap:OperatingLossCarryforwardsValuationAllowance>
    <us-gaap:OperatingLossCarryforwardsValuationAllowance
      contextRef="i25cccd5375ef403c8bef1d00ff27e6ad_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzM4MjQ_8fc1ff3a-2d23-4a6a-bdf1-ee9d5f515852"
      unitRef="usd">1200000</us-gaap:OperatingLossCarryforwardsValuationAllowance>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzcyNDU_9d60f45e-fc08-4fc4-9313-1833078c6a71">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the change in the unrecognized income tax benefit associated with uncertain tax positions for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:83.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrecognized&lt;br/&gt;Income Tax Benefits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;556&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to the prior year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reassessment of position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additions for tax positions related to the prior year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reassessment of position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(87)&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,388&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reassessment of position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27)&lt;/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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at October 31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,361&#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;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i0e11f65c53b94063a703605461564410_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzUtMS0xLTEtMzkxNTc_4f92a6d8-61bb-4e47-9418-0b10494c6085"
      unitRef="usd">556000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzctMS0xLTEtMzkxNTc_db9bd607-9ced-4aaa-8efa-2e2277dd3d7b"
      unitRef="usd">15000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzgtMS0xLTEtMzkxNTc_f7e2424c-65ae-43a4-8742-3410d744d7e2"
      unitRef="usd">49000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzktMS0xLTEtMzkxNTc_0395b6db-f070-42e6-9412-b81a9ad02134"
      unitRef="usd">522000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzExLTEtMS0xLTM5MTU3_ad43dadd-442b-49f7-b9ca-5cc96823e797"
      unitRef="usd">953000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzEyLTEtMS0xLTM5MTU3_a22515db-8648-43dc-a014-7d7e620500fb"
      unitRef="usd">87000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzEzLTEtMS0xLTM5MTU3_a183258a-66cf-4941-9eac-316d789651d0"
      unitRef="usd">1388000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzE2LTEtMS0xLTM5MTU3_880f1e49-7e12-463d-ab36-152ca4de4623"
      unitRef="usd">27000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90YWJsZTpiN2U1ODI2YmQ2MzE0YmQ4OTE4MjRmZjI3ODhiNWE0ZS90YWJsZXJhbmdlOmI3ZTU4MjZiZDYzMTRiZDg5MTgyNGZmMjc4OGI1YTRlXzE3LTEtMS0xLTM5MTU3_bdafdd11-d321-4b9e-8c85-93f9b06f1027"
      unitRef="usd">1361000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMTgvZnJhZzo0NTUzYjMyOGVlNzY0NGE5OWEzMjUyZDU1MzIyMjQ0Yy90ZXh0cmVnaW9uOjQ1NTNiMzI4ZWU3NjQ0YTk5YTMyNTJkNTUzMjIyNDRjXzUyNzQ_9dbe168f-76f2-4dcf-a4dd-441f2c3312a3"
      unitRef="usd">1400000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzQyNjU_800ce479-1d60-4470-ab26-0be59469c017">Commitments and Contingencies &lt;div style="margin-top:9pt"&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;Purchase Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are a party to non-cancelable purchase obligations primarily for door hardware, primary and secondary steel and primary and se&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;condary aluminum used in our manufacturing processes, as well as expenditures related to capital projects in progress.  We paid $11.0 million and $9.9 million pursuant to these arrangements for the years ended October&#160;31, 2022 and 2021, respectively.  These obligations total $7.6 million and $23.4&#160;million at October&#160;31, 2022 and 2021, respectively, and extend through fiscal 2023.  Future amounts paid pursuant to th&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;ese arrangements will depend, to some extent, on our usage.   &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Asset Retirement Obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; We maintain an asset retirement obligation associated with a leased facility in Kent, Washington. We have estimated our future cash flows associated with this asset retirement obligation and recorded an asset and corresponding liability.  We are depreciating the asset and accreting the liabilit&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;y over a seven-year term, to culminate in an asset retirement obligation of $2.3 million as of February 2025, which is located in Other Liabilities on the Consolidated Balance Sheets.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:2.25pt"&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;Remediation and Environmental Compliance Costs &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Under applicable state and federal laws, we may be responsible for, among other things, all or part of the costs required to remove or remediate wastes or hazardous substances at locations we, or our predecessors, have owned or operated. From time to time, we also have been alleged to be liable for all or part of the costs incurred to clean up third-party sites where there might have been an alleged improper disposal of hazardous substances. At present, we are not involved in any such matters.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we incur routine expenses and capital expenditures associated with compliance with existing environmental regulations, including control of air emissions and water discharges, and plant decommissioning costs.  We have not incurred any material expenses or capital expenditures related to environmental matters during the past three fiscal years, and do not expect to incur a material amount of such costs in fi&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;scal 2023.  Wh&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;ile we will continue to have future expenditures related to environmental matters, any such amounts are impossible to reasonably estimate at this time.  Based upon our experience to date, we do not believe that our compliance with environmental requirements will have a material adverse effect on our operations, financial condition or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:2.25pt"&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;Litigation &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we, along with our subsidiaries, are involved in various litigation matters arising in the ordinary course of our business, including those arising from or related to contractual matters, commercial disputes, intellectual property, personal injury, environmental matters, product performance or warranties, product liability, insurance coverage and personnel and employment disputes. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We regularly review with legal counsel the status of all ongoing proceedings, and we maintain insurance against these risks to the extent deemed prudent by our management and to the extent such insurance is available.  However, there is no assurance that we will prevail in these matters or that our insurers will accept full coverage of these matters, and we could, in the future, incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome or insurability of matters we face, which could materially impact our results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have been and are currently party to multiple claims, some of which are in litigation, relating to alleged defects in a commercial sealant product that was manufactured and sold during the 2000&#x2019;s.  While we believe that our product was not defective and that we would prevail in these commercial sealant product claims if taken to trial, the timing, ultimate resolution and potential impact of these claims is not currently determinable.  Nevertheless, after taking into account all currently available information, including our defenses, the advice of our counsel, and the extent and currently-expected availability of our existing insurance coverage, we believe that the eventual outcome of these commercial sealant claims will not have a material adverse effect on our overall financial condition, results of operations or cash flows, and we have not recorded any accrual with regard to these claims.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <nx:AmountPurchasedUnderPurchaseObligations
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzMxOA_780e0aa6-feda-4bd5-953f-6e966801cc20"
      unitRef="usd">11000000</nx:AmountPurchasedUnderPurchaseObligations>
    <nx:AmountPurchasedUnderPurchaseObligations
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzU0OTc1NTgxODYyNw_43b29ab5-5d64-4ece-ad56-6b61e507cb86"
      unitRef="usd">9900000</nx:AmountPurchasedUnderPurchaseObligations>
    <us-gaap:UnrecordedUnconditionalPurchaseObligationBalanceOnFirstAnniversary
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzQyOQ_b38c6e24-3e65-41e4-a0f9-31a8d035b4a4"
      unitRef="usd">7600000</us-gaap:UnrecordedUnconditionalPurchaseObligationBalanceOnFirstAnniversary>
    <us-gaap:UnrecordedUnconditionalPurchaseObligationBalanceOnFirstAnniversary
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzQzNg_a286733b-77ba-4b76-9d21-526c84f823cf"
      unitRef="usd">23400000</us-gaap:UnrecordedUnconditionalPurchaseObligationBalanceOnFirstAnniversary>
    <nx:CumulativeAssetRetirementObligationDeprecationAndAccretionPeriod
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzQyNTk_c50f5035-d088-4a04-be13-bc307f7b68f0">P7Y</nx:CumulativeAssetRetirementObligationDeprecationAndAccretionPeriod>
    <nx:Cumulativeassetretirmentobligation
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjEvZnJhZzo1NTI4Yzk4NTRlY2U0MDA0YjY1ZjQzYzYwYmJmNjVjZi90ZXh0cmVnaW9uOjU1MjhjOTg1NGVjZTQwMDRiNjVmNDNjNjBiYmY2NWNmXzk5NA_1c6f44fb-a9ec-4489-b7b6-b690a6fb2cda"
      unitRef="usd">2300000</nx:Cumulativeassetretirmentobligation>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjQvZnJhZzo3MzYxMGJjMDAyZWU0ZGZmYmMyZTQxMDBmN2U0M2M0ZC90ZXh0cmVnaW9uOjczNjEwYmMwMDJlZTRkZmZiYzJlNDEwMGY3ZTQzYzRkXzIyNTY_8f27ad2d-8371-4c78-ac82-1fb967123bb2">Fair Value Measurements of Assets and Liabilities &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy distinguishes between (1) market participant assumptions developed based on market data obtained from independent sources (observable inputs) and (2) an entity's own assumptions about market participant assumptions developed based on the best information available in the circumstances (unobservable inputs). The fair value hierarchy consists of three broad levels, which gives the highest priority to Level 1 and the lowest priority to Level 3. The three levels of the fair value hierarchy are described below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&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:5.5pt"&gt;Level 1 - Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&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:5.5pt"&gt;Level 2 - Inputs other than quoted prices included within Level 1 that are observable for the asset or liability either directly or indirectly including quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar assets or liabilities in markets that are not active; inputs other than quoted prices that are observable for the &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;asset or liability (e.g., interest rates) and inputs that are derived principally from or corroborated by observable market data b&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;y correlation or other means.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 3 - Inputs that are both significant to the fair value measurement and unobservable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Carrying amounts reported on the balance sheets for cash, cash equivalen&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;ts, accounts receivable and accounts payable approximate fair value due to the short-term maturity of these instruments.  Our outstanding debt is variable rate debt that re-prices frequently, thereby limiting our exposure to significant changes in interest rate risk.  As a result, the fair value of our debt instruments approximates carrying value at October&#160;31, 2022 and 2021 (Level 2 measurement). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our restricted stock units and performance share awards are marked-to-market on a quarterly basis during a three-year vesting period based on market data (Level 2 measurement).  For further information refer to Note 13. Stock-Based Compensation - Performance Share Awards.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjQvZnJhZzo3MzYxMGJjMDAyZWU0ZGZmYmMyZTQxMDBmN2U0M2M0ZC90ZXh0cmVnaW9uOjczNjEwYmMwMDJlZTRkZmZiYzJlNDEwMGY3ZTQzYzRkXzIyNjI_1f21425e-0f28-4f3d-969d-3606dfacca9d">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3NDI_843d4e31-83b6-4281-9202-2719094134e7">Stock-Based Compensation &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have established and maintain an Omnibus Incentive Plan (2020 Plan) that provides for the granting of restricted stock awards, stock options, restricted stock units, performance share awards, performance restricted stock units, and other stock-based and cash-based awards. The 2020 Plan is administered by the Compensation and Management Development Committee of the Board of Directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate number of shares of common stock authorized for grant under the 2020 Plan is 3,139,895 as approved by the shareholders.  Any officer, key employee and/or non-employee director is eligible for awards under the 2020 Plan. We grant restricted stock units to non-employee directors on the first business day of each fiscal year.  As approved by the Compensation &amp;amp; Management Development Committee of our Board of Directors annually, we grant a mix of restricted stock awards, performance shares and/or performance restricted stock units to officers, management and key employees.  We also historically granted stock options to certain officers, directors and key employees.  Occasionally, we may make additional grants to key employees at other times during the year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Restricted Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock awards are granted to key employees and officers annually, and typically cliff vest over a three-year period with service and continued employment as the only vesting criteria. The recipient of a restricted stock award is entitled to all of the rights of a shareholder, except that the awards are nontransferable during the vesting period. The fair value of the restricted stock award is established on the grant date and then expensed over the vesting period resulting in an increase in additional paid-in-capital. Shares are generally issued from treasury stock at the time of grant.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; A summary of non-vested restricted stock award activity during the years ended October&#160;31, 2022, 2021 and 2020, follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:65.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Weighted&#160;Average&lt;br/&gt;Grant Date Fair Value per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.82&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(55,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(51,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.30&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.82&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,400)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.70&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,400&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88,700)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.74&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 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:10pt;font-weight:400;line-height:100%"&gt;212,100&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total weighted average grant-date fair value of restricted stock awards that vested during the years ended October&#160;31, 2022, 2021 and 2020 wa&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;s $1.2 million, $0.9 million and $1.1 million, respectively.  As of October&#160;31, 2022, total unrecognized compensation cost related to unamortized restricted stock awards totaled $1.9 million.  We expect to recognize this expense over the remaining weighted average period of 1.8 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, stock options have been awarded to key employees, officers and non-employee directors.  In December 2017, the Compensation &amp;amp; Management Development Committee of the Board of Directors approved a change to the long-term incentive award program eliminating the grant of stock options and replacing this award with a grant of performance restricted stock units as further described below.  As a result, stock options were not granted during the years ended October 31, 2020, 2019, and 2018.  Stock options typically vested ratably over a three-year period with service and continued employment as the vesting conditions.  Our stock options may be exercised up to a maximum of ten years from the date of grant. The fair value of the stock options was determined on the grant date and expensed over the vesting period resulting in an increase in additional paid-in-capital.  We used the Black-Scholes pricing model to estimate the grant date fair value.  The inputs to this model included expected volatility, expected term, a risk-free rate and expected dividend rate at the time of grant.  For employees who were nearing retirement-eligibility, we recognized stock option expense ratably over the shorter of the vesting period or the period from the grant-date to the retirement-eligibility date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our stock option activity for the years ended October&#160;31, 2022, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:40.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Term&#160;(in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&#160;(000s)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,416,186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(215,733)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(105,124)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,095,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;561&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(865,393)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,632)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2021&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:10pt;font-weight:400;line-height:100%"&gt;218,304&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.4&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;297&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,600)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.36&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.04&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2022&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:10pt;font-weight:400;line-height:100%"&gt;175,117&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.9&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;485&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Vested at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.9&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;485&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Exercisable at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.9&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;485&#160;&lt;/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-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intrinsic value is the amount by which the market price of the common stock on the date of exercise exceeds the exercise price of the stock option.  For the years ended October&#160;31, 2022, 2021 and 2020, the total intrinsic value of our stock options that were exercised to&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;taled $0.2 million, $4.2 million and $0.5 million, respectively.  The total fair value of stock options vested during the years ended October&#160;31, 2022, 2021 and 2020, was zero, zero and &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$0.6 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units may be awarded to key employees and officers from time to time, and annually to non-employee directors. The non-employee director restricted stock units vest immediately but are payable only upon the director's cessation of service unless an election is made by the non-employee director to settle and pay the award on an earlier specified date.  Restricted stock units awarded to employees and officers typically cliff vest after a three-year period with service and continued employment as the vesting conditions.  Restricted stock units are not considered outstanding shares and do not have voting rights, although the holder does receive a cash payment equivalent to the dividend paid, on a one-for-one basis, on our outstanding common shares. Once the vesting criteria is met, each restricted stock unit is payable to the holder in cash based on the market value of one share of our common stock. Accordingly, we record a liability for the restricted stock units on our balance sheet and recognize any changes in the market value during each reporting period as compensation expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended October&#160;31, 2022, 2021 and 2020, 36,669, 28,826 and 25,621 restricted stock units, respectively, were granted with corresponding weighted average grant date fair value of $22.52, $18.79, and $18.18, respectively.&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; As of October 31, 2022 there were 21,774 unvested restricted stock units from the fiscal 2020 grant &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;with corresponding weighted average grant date fair value of $17.08&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. During the years ended October&#160;31, 2022, 2021 and 2020, we paid $1.0&#160;million, $0.8&#160;million and $0.2&#160;million to settle restricted stock units. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Performance Share Award&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;s&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have awarded annual grants of performance shares to key employees and officers. Beginning with the fiscal year ended October 31, 2019, performance share awards vest with return on net assets (RONA) as the vesting condition, pay out 100% in cash, and are accounted for as liability.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected cash settlement of the performance share award is recorded as a liability and is being marked to market over the three-year term of the award, and could fluctuate depending on the number of shares ultimately expected to vest.  Depending on the achievement of the performance conditions, 0% to 200% of the awarded performance shares may ultimately vest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance share grants and the grant date fair value for the RONA performance metric: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,900&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.40&#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:10pt;font-weight:400;line-height:100%"&gt;5,300&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:22.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2021, 183,000 shares vested pursuant to the December 2018 grant, which were settled with a cash payment of $3.8&#160;million.  In December 2020, the December 2017 grant vested, however, no shares were awarded as performance criteria were not met.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance share awards are payable in cash based upon the number of performance shares ultimately earned, and are therefore not considered outstanding shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Performance Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We awarded performance restricted stock units to key employees and officers. These awards cliff vest upon a three-year service period with the absolute total shareholder return of our common stock over this three-year term as the vesting criteria.  The number of performance restricted stock units earned is variable depending on the metric achieved, and the settlement method is 100% in our common stock, with accrued dividends paid in cash at the time of vesting, assuming the shares had been outstanding throughout the performance period.    &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To value the performance restricted stock units, we utilized a Monte Carlo simulation model to arrive at a grant-date fair value.  This amount will be adjusted for forfeitures and expensed over the three-year term of the award with a credit to additional paid-in-capital.  Depending on the achievement of the performance conditions, a minimum of 0% and a maximum of 150% of the awarded performance restricted stock units may vest. Specifically, the awards vest on a continuum with the following Absolute Total Shareholder Return (A-TSR) milestones: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:15.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.016%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.657%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Criteria&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Percentage of Award Vested&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR greater than or equal to 50%&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;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:10pt;font-weight:400;line-height:100%"&gt;150%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 50% and greater than or equal to 20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 20% and greater than or equal to -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance restricted stock unit grants and the grant date fair value for the A-TSR performance metric:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:58.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The performance restricted stock units are not considered outstanding shares, do not have voting rights, and are excluded from diluted weighted-average shares used to calculate earnings per share until the performance criteria is probable to result in the issuance of contingent shares. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes amounts expensed as selling, general and administrative expense related to restricted stock awards, stock options, restricted stock units, performance share awards and performance restricted stock units for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.954%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#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:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;1,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(170)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Performance 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:10pt;font-weight:400;line-height:100%"&gt;840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;515&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:15.75pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net compensation expense&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzUxNg_db1dfb42-1041-4002-977d-b10a6540fd6c"
      unitRef="shares">3139895</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3Mzc_94ff83e9-bf90-453d-800f-07de94985aaf">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MjM_f7784438-84e0-4a6a-a60b-aeacbdd0ee5f">A summary of non-vested restricted stock award activity during the years ended October&#160;31, 2022, 2021 and 2020, follows:&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:65.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Weighted&#160;Average&lt;br/&gt;Grant Date Fair Value per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.82&#160;&lt;/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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(55,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(51,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.30&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16.82&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,400)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.70&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,400&#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;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88,700)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.74&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding: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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 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:10pt;font-weight:400;line-height:100%"&gt;212,100&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i09073f4ec3404feeba6c34d70dcb54ad_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEtMS0xLTEtMzkxNTc_43cc702c-1a56-4be5-88e4-2e39878f4d18"
      unitRef="shares">230100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i09073f4ec3404feeba6c34d70dcb54ad_I20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEtMy0xLTEtMzkxNTc_cce2cb22-cbd4-4335-b582-def2ffd75835"
      unitRef="usdPerShare">17.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzItMS0xLTEtMzkxNTc_41de550e-7f8b-4e47-aa9d-e473782970d6"
      unitRef="shares">63400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzItMy0xLTEtMzkxNTc_d3f6a76a-b118-4711-9986-64d3d48b91a1"
      unitRef="usdPerShare">18.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzMtMS0xLTEtMzkxNTc_ea8c83b8-23d1-48a6-a3df-e06ec1b7d76a"
      unitRef="shares">55000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzMtMy0xLTEtMzkxNTc_98906436-b11e-4c52-a758-095637f747c3"
      unitRef="usdPerShare">19.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzQtMS0xLTEtMzkxNTc_ad42d0f6-2b24-47eb-97c9-d5735509460b"
      unitRef="shares">51000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzQtMy0xLTEtMzkxNTc_d518457f-b4b7-44c8-a080-1803fb297e42"
      unitRef="usdPerShare">17.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i453a1f8a8d2443308649f8c2e15ff5e6_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzUtMS0xLTEtMzkxNTc_60d6333f-74a4-4397-8370-461bd247374b"
      unitRef="shares">187500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i453a1f8a8d2443308649f8c2e15ff5e6_I20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzUtMy0xLTEtMzkxNTc_847af273-a4c2-4c93-bcc4-a32c1b66422b"
      unitRef="usdPerShare">16.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzYtMS0xLTEtMzkxNTc_961b2fcf-5584-4cda-988b-b16c0b069616"
      unitRef="shares">73300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzYtMy0xLTEtMzkxNTc_6343c5b4-e264-4128-9b69-3b97b670895d"
      unitRef="usdPerShare">20.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzctMS0xLTEtMzkxNTc_2540bfa6-e677-4c28-ab4b-2dffa0fa34a3"
      unitRef="shares">44400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzctMy0xLTEtMzkxNTc_9444220c-cac9-478e-a4c5-dd38246c8fe1"
      unitRef="usdPerShare">20.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzgtMS0xLTEtMzkxNTc_dad9c78e-c738-4449-a2cd-5bcf1bf63700"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzgtMy0xLTEtMzkxNTc_7261bd6d-6c48-4af3-9584-f04821cf78b7"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i7c0f953043d74a3693a0c7f362015cfd_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzktMS0xLTEtMzkxNTc_8dbd3c51-393a-4379-836d-2a18b840636f"
      unitRef="shares">216400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i7c0f953043d74a3693a0c7f362015cfd_I20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzktMy0xLTEtMzkxNTc_f70908f7-45ed-4b72-8d11-601787204588"
      unitRef="usdPerShare">17.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEwLTEtMS0xLTM5MTU3_3e0e8536-57aa-4169-81f6-c59566d97acc"
      unitRef="shares">84400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEwLTMtMS0xLTM5MTU3_1e166c3c-9592-4625-9de1-af598d03bc88"
      unitRef="usdPerShare">22.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzExLTEtMS0xLTM5MTU3_19bc1115-7589-472d-bdb0-941db6c6ff8f"
      unitRef="shares">88700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzExLTMtMS0xLTM5MTU3_c040d9ab-be21-481c-bd71-ff5b98fd8e16"
      unitRef="usdPerShare">13.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEyLTEtMS0xLTM5MTU3_2469d405-e4d0-4f0c-a3be-be468f03f93e"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEyLTMtMS0xLTM5MTU3_de274c66-1f60-45d8-b83b-31589bbb4f59"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iff6f2de0d17140a49d7e790c2bf660e1_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEzLTEtMS0xLTM5MTU3_a911aa59-44f7-4797-be22-70fb5a29dc85"
      unitRef="shares">212100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iff6f2de0d17140a49d7e790c2bf660e1_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzQ1YWQ0NTFkMTE0YzBmOGEwODg1NTUyNjE3MjYyMi90YWJsZXJhbmdlOjdjNDVhZDQ1MWQxMTRjMGY4YTA4ODU1NTI2MTcyNjIyXzEzLTMtMS0xLTM5MTU3_6b29048f-0e6c-4822-bb2b-c998a02bcec9"
      unitRef="usdPerShare">20.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzIwNTg_19bca7c3-a6f9-4696-a922-93c26546ea3b"
      unitRef="usd">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzIwNjI_fc6374df-8434-4f49-b69f-279f2a066008"
      unitRef="usd">900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzIwNjk_9bd9f93f-cd6f-4fa5-aa58-ad4df0bee6f5"
      unitRef="usd">1100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="iff6f2de0d17140a49d7e790c2bf660e1_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzIxOTA_ccc32cbc-76ae-4457-affa-b11716de8633"
      unitRef="usd">1900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzIyNzc_e4f68d4d-9d4e-42d0-9501-315e8ad4c4d7">P1Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i953baa37399e48c58031e1ca3c9ecdb1_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MjQ_1994ad2f-d2a4-4cc5-b46b-7049734c5799">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i953baa37399e48c58031e1ca3c9ecdb1_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MzA_9fa4658d-839f-477c-8064-cc73547ceefc">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MzE_35a5b702-36a3-4014-8e26-db3c38f6d802">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our stock option activity for the years ended October&#160;31, 2022, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:40.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Term&#160;(in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.5pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&#160;(000s)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,416,186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(215,733)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(105,124)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,095,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.6&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;561&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(865,393)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,632)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2021&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:10pt;font-weight:400;line-height:100%"&gt;218,304&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.4&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;297&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,600)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.36&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.04&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2022&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:10pt;font-weight:400;line-height:100%"&gt;175,117&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.9&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;485&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Vested at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.9&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;485&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Exercisable at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.9&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;485&#160;&lt;/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:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i0e11f65c53b94063a703605461564410_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEtMS0xLTEtMzkxNTc_fff71773-e71a-440d-bbad-c3769846d252"
      unitRef="shares">1416186</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i0e11f65c53b94063a703605461564410_I20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEtMy0xLTEtMzkxNTc_9a36af34-b6a3-4d00-b063-77dd3b92385b"
      unitRef="usdPerShare">18.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i18de6994a0d145f199204cd3d43c5d69_D20181101-20191031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEtNS0xLTEtMzkxNTc_d3e9268e-78c1-4941-b51c-1cee06aaf3b3">P4Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i0e11f65c53b94063a703605461564410_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEtNy0xLTEtMzkxNTc_f205ed6f-3632-4198-ace1-523173c39c87"
      unitRef="usd">1449000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzItMS0xLTEtMzkxNTc_04825d8a-2763-48b0-803c-95a1db54d4c3"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzItMy0xLTEtMzkxNTc_0b03fda7-4fbf-4305-816b-55204ac63c1f"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzMtMS0xLTEtMzkxNTc_25e3f303-4f0b-4f05-bfd5-dbf08726f11f"
      unitRef="shares">215733</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzMtMy0xLTEtMzkxNTc_29af9e89-d54a-4f02-872b-c1b112806411"
      unitRef="usdPerShare">17.09</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzQtMS0xLTEtMzkxNTc_dda63e93-50dd-4c90-be98-1b4581c8ad06"
      unitRef="shares">105124</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzQtMy0xLTEtMzkxNTc_30cb56ff-7feb-4e31-8325-d772f4333668"
      unitRef="usdPerShare">20.28</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzUtMS0xLTEtMzkxNTc_e52176ba-2b88-4281-87df-a607144956ce"
      unitRef="shares">1095329</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzUtMy0xLTEtMzkxNTc_3c13b586-7934-4633-8f4b-cd1cceefe720"
      unitRef="usdPerShare">18.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzUtNS0xLTEtMzkxNTc_7c1269a3-d945-481a-ae40-33939f0e4e3c">P3Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzUtNy0xLTEtMzkxNTc_9f201ce3-f3ac-4fb3-8478-60fc412d3427"
      unitRef="usd">561000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzYtMS0xLTEtMzkxNTc_b33b14b9-7101-4e21-91fe-023bbd879583"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzYtMy0xLTEtMzkxNTc_e71c7dff-ceb3-4a0e-bc5b-d05da5d56bf2"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzctMS0xLTEtMzkxNTc_6b666806-b5d7-4957-b677-9d340ad9caa1"
      unitRef="shares">865393</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzctMy0xLTEtMzkxNTc_3e401476-8771-4ed0-a9bd-366f6beeb53e"
      unitRef="usdPerShare">18.80</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzgtMS0xLTEtMzkxNTc_c73440d4-15f0-4787-a912-107b58912bff"
      unitRef="shares">11632</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzgtMy0xLTEtMzkxNTc_ecb77c6e-c826-4317-845e-537e32168797"
      unitRef="usdPerShare">18.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzktMS0xLTEtMzkxNTc_f54734d7-1cb8-4cd6-a2a4-780bc6dccfdc"
      unitRef="shares">218304</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzktMy0xLTEtMzkxNTc_7fe20172-2bb7-4540-9412-565be8324674"
      unitRef="usdPerShare">19.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzktNS0xLTEtMzkxNTc_5a4a55f4-a441-4555-9058-5c024e06afc5">P3Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzktNy0xLTEtMzkxNTc_2ed38a14-f65a-43e2-94b6-77dc8017d331"
      unitRef="usd">297000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEwLTEtMS0xLTM5MTU3_f0b50293-3626-4244-9783-422435203277"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEwLTMtMS0xLTM5MTU3_eaca894c-6183-48bc-990d-958397a7dd28"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzExLTEtMS0xLTM5MTU3_92d7949c-644a-412f-adad-256b004ddd4c"
      unitRef="shares">35600</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzExLTMtMS0xLTM5MTU3_165176d2-b1f0-4ce5-8c8e-31449f1a433a"
      unitRef="usdPerShare">19.36</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEyLTEtMS0xLTM5MTU3_32ecd63b-8e07-4ae7-86c2-dac97d73250f"
      unitRef="shares">7587</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEyLTMtMS0xLTM5MTU3_31b9aca2-f30f-43e9-835f-1cc7297a29b3"
      unitRef="usdPerShare">19.04</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEzLTEtMS0xLTM5MTU3_ad25f0ef-49fa-4974-84c6-12ab4721460f"
      unitRef="shares">175117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEzLTMtMS0xLTM5MTU3_ce8ae8c0-c3a9-45ca-abe5-88eb006b0299"
      unitRef="usdPerShare">19.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEzLTUtMS0xLTM5MTU3_f43efd74-3e1f-437f-b8c1-ca2b7753cb57">P2Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzEzLTctMS0xLTM5MTU3_c391eaa7-9710-4e63-990d-25ef0db1c2b9"
      unitRef="usd">485000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE0LTEtMS0xLTM5MTU3_eb21a5b0-790a-4949-9872-6b4ad705f37d"
      unitRef="shares">175117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE0LTMtMS0xLTM5MTU3_832ad757-d505-49a2-9634-27d3d55e3088"
      unitRef="usdPerShare">19.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE0LTUtMS0xLTM5MTU3_b7dcdd17-e8de-49fe-9f40-8c3806b4a8f6">P2Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE0LTctMS0xLTM5MTU3_6d8b0ad0-b14b-42d5-b8ce-bfa8659ff770"
      unitRef="usd">485000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE1LTEtMS0xLTM5MTU3_ad8206b0-a52a-40a5-acc6-38d721732d4c"
      unitRef="shares">175117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE1LTMtMS0xLTM5MTU3_f59049c1-901e-4e39-be1b-84f5bf03edf0"
      unitRef="usdPerShare">19.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE1LTUtMS0xLTM5MTU3_366ef404-17fe-460a-b60c-b7cbc2246fa3">P2Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo3YzdjNTQ3N2E4NjQ0MmFhYmNhYTcyNDU3NGYzYjk2NC90YWJsZXJhbmdlOjdjN2M1NDc3YTg2NDQyYWFiY2FhNzI0NTc0ZjNiOTY0XzE1LTctMS0xLTM5MTU3_ef83a880-1272-4e49-b15c-0ab0e6db6bbd"
      unitRef="usd">485000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzM5NTg_23661c8a-1fc9-4b06-b9d4-ad9fb17708a0"
      unitRef="usd">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzM5NjI_788a1024-4e40-45bb-93fd-b591bc094ba1"
      unitRef="usd">4200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzM5Njk_8852beca-9e22-49a0-874c-5eea9ab821f0"
      unitRef="usd">500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i953baa37399e48c58031e1ca3c9ecdb1_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzQwNzU_890fac61-f4d7-468b-a190-ee4191138fe1"
      unitRef="usd">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i7dabf9c115ee4930a2068a35a9e1e73e_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzQwNzk_bd88cb1d-e74a-41f0-990a-65a5ebf4a5a4"
      unitRef="usd">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i6c38e8b7f6b54dad87f595ca8cdfd039_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzQwODY_e1e0db9d-ecb0-4661-9fe8-290936a9676a"
      unitRef="usd">600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MTk_1c510f6e-c1f4-4d50-99ec-64bd3a4ad140">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzUyNzU_a111ec4e-54a8-436e-8e48-8a919916d7ba"
      unitRef="shares">36669</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i159dcb09df9e428c957b42f46378165f_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzUyNzk_d04e15eb-a6f2-475c-8bab-103e889905a1"
      unitRef="shares">28826</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i4b89793cad204be99d461d1e127ec12b_D20191101-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzUyODY_b848f3be-31e2-477d-b9ce-f5d51240b9b1"
      unitRef="shares">25621</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0MDE_0b172776-d542-4e0f-af4e-6dafea3d4303"
      unitRef="usdPerShare">22.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i159dcb09df9e428c957b42f46378165f_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0MDU_f920f1e2-747b-47b9-bae1-854b515165dc"
      unitRef="usdPerShare">18.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4b89793cad204be99d461d1e127ec12b_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0MTM_e82e7130-d7c7-457e-89be-417fd684b63e"
      unitRef="usdPerShare">18.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i647bb78102fa4c7489082f169135db32_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0NjU_05d6456e-50bb-4412-9e28-9f5bc018a2f7"
      unitRef="shares">21774</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i647bb78102fa4c7489082f169135db32_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0OTc1NTgyMjczMw_f7089bb4-0221-42fe-860b-6233400888de"
      unitRef="usdPerShare">17.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <nx:PaymentForSettlementOfShareBasedCompensation
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU1NzQ_fc4c088b-f4e1-4be8-992e-941d4baa58cf"
      unitRef="usd">1000000</nx:PaymentForSettlementOfShareBasedCompensation>
    <nx:PaymentForSettlementOfShareBasedCompensation
      contextRef="i159dcb09df9e428c957b42f46378165f_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU1Nzg_f9eb5ded-6172-4682-9c56-7489934a80aa"
      unitRef="usd">800000</nx:PaymentForSettlementOfShareBasedCompensation>
    <nx:PaymentForSettlementOfShareBasedCompensation
      contextRef="i4b89793cad204be99d461d1e127ec12b_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU1ODU_3ed2e115-ed8f-4a26-9f60-38e8e0d7ac68"
      unitRef="usd">200000</nx:PaymentForSettlementOfShareBasedCompensation>
    <nx:PerformanceSharesSettledinCash
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU4ODM_79548faf-1b93-4895-a372-ce14e2b6b309"
      unitRef="number">1</nx:PerformanceSharesSettledinCash>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i943db4cc52a2469db4f7fad6b867b481_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MzI_f4fd75a9-7610-448e-a360-698e700fd160">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ie4684933636d4b548fea30711b8db3e5_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzYyMzA_08474c38-7207-41dd-9286-5ce620a0dcde"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ic1996579136f43f381853a2ada9f4130_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzYyMzY_30244e69-ccb4-4b60-a448-c2327c6b44b1"
      unitRef="number">2</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MjA_cc045207-c4be-4cec-8153-5b9f6a120df1">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance share grants and the grant date fair value for the RONA performance metric: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,900&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.40&#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:10pt;font-weight:400;line-height:100%"&gt;5,300&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i948f1f05e6ae4cabbfa21c470c23dd48_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzItMS0xLTEtMzkxNTc_29b7f219-e6fa-4da2-b01b-1631cce52dde"
      unitRef="shares">55900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="i35b1f9b9473245faa9a0f467a82ff279_D20191205-20191205"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzItNy0xLTEtMzkxNTc_a64d4a41-3891-4fda-8af2-1c754864b2fa"
      unitRef="usdPerShare">19.40</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i948f1f05e6ae4cabbfa21c470c23dd48_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzItOS0xLTEtMzkxNTc_dc240faa-132f-416a-bf0d-2e2875df8a7b"
      unitRef="shares">5300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i9e6524960bb1461da8394b94b26b8335_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzMtMS0xLTEtMzkxNTc_5f150d35-ed9d-4032-a7c7-6bd6db04cee8"
      unitRef="shares">65300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="i93065bc54e3e4f83ac56346eaaa6bcb4_D20201202-20201202"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzMtNy0xLTEtMzkxNTc_cae0ab30-e5cb-4919-ad1b-f93a6aea538c"
      unitRef="usdPerShare">20.68</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i9e6524960bb1461da8394b94b26b8335_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzMtOS0xLTEtMzkxNTc_1a5e376e-77ca-4617-88fb-4a46deccd82a"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ibc8e79f288064cbf8ad43ed9e4833c7b_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzQtMS0xLTEtMzkxNTc_104d31ec-059c-4c78-8f9f-d48e1720cc87"
      unitRef="shares">80900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="iecc1d1632e574021885a6eb5aad3515e_D20211209-20211209"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzQtNy0xLTEtMzkxNTc_ac375346-fda3-4196-aceb-dfa6bff5bd89"
      unitRef="usdPerShare">22.54</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="ibc8e79f288064cbf8ad43ed9e4833c7b_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTowZTUwMjQ2ZTZhNWU0M2ExOWI0MTQxYjEyNmUxYzc5Yy90YWJsZXJhbmdlOjBlNTAyNDZlNmE1ZTQzYTE5YjQxNDFiMTI2ZTFjNzljXzQtOS0xLTEtMzkxNTc_56b107ab-bb1d-4ffc-a21e-cc8156391907"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i943db4cc52a2469db4f7fad6b867b481_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0OTc1NTgyMzE5MQ_8c0c1b2d-ebcf-4b3b-bbc8-f09ae5b2d8f1"
      unitRef="shares">183000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <nx:PaymentForSettlementOfShareBasedCompensation
      contextRef="i943db4cc52a2469db4f7fad6b867b481_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzU0OTc1NTgyMzIwMA_aa010605-04d4-4ad0-948f-aa26f7a63f6a"
      unitRef="usd">3800000</nx:PaymentForSettlementOfShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i14829ad01d044a4e8fb4812d6236445d_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MDM_20826c86-f436-40df-aafc-dab886e19fd8">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i14829ad01d044a4e8fb4812d6236445d_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MjU_c2d9b49f-9003-4dd9-a0ee-4c1554622bde">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i14829ad01d044a4e8fb4812d6236445d_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MDQ_3d9c339b-0d46-44a9-92d6-cdd0f91135e3">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i655b627c1bb84b18b8af5802dd9c51ed_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzc3ODU_df63d048-6c8f-4dd9-a2bc-d41d087dcb6e"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="if444e62f8b5d4b3ebfe1972b095ceee4_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzc4MDU_8a019aae-0939-4a28-8372-78a94955097b"
      unitRef="number">1.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceBasedUnitsVestedAndExpectedToVestTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3Mzk_d58daffd-809f-4647-a9b3-9b73b843c533">Specifically, the awards vest on a continuum with the following Absolute Total Shareholder Return (A-TSR) milestones: &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:15.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.016%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.657%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Criteria&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Percentage of Award Vested&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR greater than or equal to 50%&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;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:10pt;font-weight:400;line-height:100%"&gt;150%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 50% and greater than or equal to 20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 20% and greater than or equal to -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceBasedUnitsVestedAndExpectedToVestTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i4f08c573c0e646818f91455284bad923_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTphMjMyYmY3YzRiYTY0ZDQ3YjY2MzIzMWMzZjY1OGExOC90YWJsZXJhbmdlOmEyMzJiZjdjNGJhNjRkNDdiNjYzMjMxYzNmNjU4YTE4XzEtNC0xLTEtMzkxNTc_42fb3929-e8cc-4d64-a95e-b82841025d12"
      unitRef="number">1.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ic5f8944be7a14e2eb59ac74cc0f4befe_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTphMjMyYmY3YzRiYTY0ZDQ3YjY2MzIzMWMzZjY1OGExOC90YWJsZXJhbmdlOmEyMzJiZjdjNGJhNjRkNDdiNjYzMjMxYzNmNjU4YTE4XzItNC0xLTEtMzkxNTc_3dc09c79-03ff-4000-8db6-937d7c304f03"
      unitRef="number">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i73f6e6bbb3b6444ea34e5c17d47a2a31_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTphMjMyYmY3YzRiYTY0ZDQ3YjY2MzIzMWMzZjY1OGExOC90YWJsZXJhbmdlOmEyMzJiZjdjNGJhNjRkNDdiNjYzMjMxYzNmNjU4YTE4XzMtNC0xLTEtMzkxNTc_58b9971f-f33b-4ad0-ba3a-e881fe652701"
      unitRef="number">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i205b975410384f3b93cd81b15933548a_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTphMjMyYmY3YzRiYTY0ZDQ3YjY2MzIzMWMzZjY1OGExOC90YWJsZXJhbmdlOmEyMzJiZjdjNGJhNjRkNDdiNjYzMjMxYzNmNjU4YTE4XzQtNC0xLTEtMzkxNTc_fa827a76-f4b8-4d13-a365-c6e2d2e8f65a"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3NDE_040b31a2-7a5f-4a9a-b2ba-97920adf0cb6">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance restricted stock unit grants and the grant date fair value for the A-TSR performance metric:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:58.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ib9d90aa2d43a4659a7dfee4676e02015_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzEtMi0xLTEtMzkxNTc_cb2530ee-b57e-4c90-b153-a28ab14ff201"
      unitRef="shares">35000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib9d90aa2d43a4659a7dfee4676e02015_D20191205-20191205"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzEtNC0xLTEtMzkxNTc_a3d8f84a-5097-4dc2-ba2f-dafe3afa3bbf"
      unitRef="usdPerShare">19.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="ib9d90aa2d43a4659a7dfee4676e02015_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzEtNi0xLTEtMzkxNTc_2350aed7-6690-44e5-9c9a-d53f570e4af6"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="iea3f5544b2ae46c0a214e04d2de28035_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzItMi0xLTEtMzkxNTc_bb02ee52-954b-473a-b85e-22d4be93da78"
      unitRef="shares">38400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="iea3f5544b2ae46c0a214e04d2de28035_D20201202-20201202"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzItNC0xLTEtMzkxNTc_cd42b5b4-ce8f-4221-affb-18eb176a6d59"
      unitRef="usdPerShare">20.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="iea3f5544b2ae46c0a214e04d2de28035_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzItNi0xLTEtMzkxNTc_a759fdbc-2e4b-488c-b35a-6a3025c407fe"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i0b34edd2de9340ea997d1632527cfe13_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzMtMi0xLTEtMzkxNTc_74e808ac-9c6d-491c-8cdf-d890fac8389e"
      unitRef="shares">50900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0b34edd2de9340ea997d1632527cfe13_D20211209-20211209"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzMtNC0xLTEtMzkxNTc_2f08f957-a17d-45be-b989-1b1cae982b92"
      unitRef="usdPerShare">21.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i0b34edd2de9340ea997d1632527cfe13_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo2NzczN2RmYmQ0ZjA0YjYyOTQ4YzI0ZGE3MWVmZmU1Ny90YWJsZXJhbmdlOjY3NzM3ZGZiZDRmMDRiNjI5NDhjMjRkYTcxZWZmZTU3XzMtNi0xLTEtMzkxNTc_811cb55f-9e03-4c7d-ad01-7f5e32378469"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90ZXh0cmVnaW9uOmViM2MzNTI1NjA0MjQ5ZWRhZjJlZTAxY2IxNzAzNzcwXzg3MTE_73280995-9b79-4858-bdeb-43806280d9d8">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes amounts expensed as selling, general and administrative expense related to restricted stock awards, stock options, restricted stock units, performance share awards and performance restricted stock units for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.954%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.703%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#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:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;1,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(170)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Performance 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:10pt;font-weight:400;line-height:100%"&gt;840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;515&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,166&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:15.75pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net compensation expense&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1f2c7e236ffa4e6f98c4b1d63dc635b4_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzItMS0xLTEtMzkxNTc_c493b50f-ba68-420d-bc03-1469ed787f4f"
      unitRef="usd">1452000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7830a87dcd834767af3b7b0174da0248_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzItMy0xLTEtMzkxNTc_200d722b-1914-4424-b116-2f10a429f706"
      unitRef="usd">1235000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i828c67d377c74e4784f31ddfe0fc405c_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzItNS0xLTEtMzkxNTc_32daca5f-6eeb-4a1e-a6e5-7901d2918fc8"
      unitRef="usd">625000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i953baa37399e48c58031e1ca3c9ecdb1_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzMtMS0xLTEtMzkxNTc_3ef09907-9297-4679-bcbd-3a7ffb63f8e2"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7dabf9c115ee4930a2068a35a9e1e73e_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzMtMy0xLTEtMzkxNTc_661bbbd2-0283-42d5-990c-49de808000eb"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6c38e8b7f6b54dad87f595ca8cdfd039_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzMtNS0xLTEtMzkxNTc_37211268-6830-4d21-b216-8398662d4617"
      unitRef="usd">10000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icf5ac8d0d7e5469ea61c678bb4ae1cf1_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzQtMS0xLTEtMzkxNTc_6436dc5f-ab5e-48e9-9d85-2d2e5acac994"
      unitRef="usd">1167000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i159dcb09df9e428c957b42f46378165f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzQtMy0xLTEtMzkxNTc_cb745bd9-0dd5-4f96-926e-2179ce673560"
      unitRef="usd">1197000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4b89793cad204be99d461d1e127ec12b_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzQtNS0xLTEtMzkxNTc_ce4d6e70-6d6e-40f6-9e98-8396e3fb019f"
      unitRef="usd">186000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i943db4cc52a2469db4f7fad6b867b481_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzUtMS0xLTEtMzkxNTc_ff37ffdd-5446-468c-b922-aa64e8f08278"
      unitRef="usd">2373000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i728cca8d23e04e3581942d6db8385b09_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzUtMy0xLTEtMzkxNTc_46164d68-f3c2-4716-adbc-ec7d4fc06f19"
      unitRef="usd">4039000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibc63efed2e744121bc68fbe5434d79ba_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzUtNS0xLTEtMzkxNTc_35c97bf3-fddb-4d7e-91f5-b5a57d7cd1c9"
      unitRef="usd">-170000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i14829ad01d044a4e8fb4812d6236445d_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzYtMS0xLTEtMzkxNTc_708b85f1-99c7-4fcd-84f6-713e80678c91"
      unitRef="usd">840000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i58c7d0d68c7f4094b66d76e89566dd32_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzYtMy0xLTEtMzkxNTc_8a003570-1268-48c8-9b5a-e0ce49cb941d"
      unitRef="usd">729000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7e5a9f7070f443bd9bc93086a53dad84_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzYtNS0xLTEtMzkxNTc_e8e9553d-4890-48b6-8421-c2b8230fb3c1"
      unitRef="usd">515000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzctMS0xLTEtMzkxNTc_cedbb661-2f07-4c95-8ac0-28d849735eee"
      unitRef="usd">5832000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzctMy0xLTEtMzkxNTc_955fa355-799f-4efb-98f7-898f9f0e91f8"
      unitRef="usd">7200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzctNS0xLTEtMzkxNTc_9b14af25-e464-443f-be28-428a8a5b92da"
      unitRef="usd">1166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <nx:Incometaxeffect
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzgtMS0xLTEtMzkxNTc_50449504-d3b7-4905-8e13-2b5bea68393b"
      unitRef="usd">1138000</nx:Incometaxeffect>
    <nx:Incometaxeffect
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzgtMy0xLTEtMzkxNTc_77075e03-feaf-4b0b-85f2-604cce883104"
      unitRef="usd">2078000</nx:Incometaxeffect>
    <nx:Incometaxeffect
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzgtNS0xLTEtMzkxNTc_2723dc88-d401-4b3d-bda1-1f4d29d92bf0"
      unitRef="usd">274000</nx:Incometaxeffect>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzktMS0xLTEtMzkxNTc_a84913cf-5db1-4adb-9bf6-930c48521f40"
      unitRef="usd">4694000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzktMy0xLTEtMzkxNTc_437ba107-71e1-4a3b-812b-76f1d640c9a6"
      unitRef="usd">5122000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMjcvZnJhZzplYjNjMzUyNTYwNDI0OWVkYWYyZWUwMWNiMTcwMzc3MC90YWJsZTo5MzFjMDZmYzYxMDY0M2Q2YjM4OWFiMzZhYWU2YzIyZC90YWJsZXJhbmdlOjkzMWMwNmZjNjEwNjQzZDZiMzg5YWIzNmFhZTZjMjJkXzktNS0xLTEtMzkxNTc_b9d24a24-b762-4a60-97eb-0fd1d0abb517"
      unitRef="usd">892000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzIwMzY_2f557067-6e88-48f6-9ac2-81c4ca9c03aa">Stockholders' Equity &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022, our authorized capital stock consists of 125,000,000 shares of common stock, at par value of $0.01&#160;per s&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;hare, and 1,000,000 shares of preferred stock, with no par value.  As of October&#160;31, 2022 and 2021, we had 37,211,056 and 37,273,510  shares of common stock issued, respectively, and 33,129,250 and 33,274,785 shares of common stock outstanding, respectively.  T&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;here were no shares of preferred stock issued or outstanding at October&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Stock Repurchase Program and Treasury Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 30, 2018, our Board of Directors approved a stock repurchase program that authorized the repurchase of up to $60.0&#160;million worth of shares of our common stock. As of October 31, 2021, this share repurchase authorization was exhausted and the program was complete.  During December 2021, our Board of Directors approved a new stock repurchase program that authorized the repurchase of up to $75.0&#160;million worth of shares of our common stock. Repurchases under the program are made in open market transactions or privately negotiated transactions, subject to market conditions, applicable legal requirements and other relevant factors. The program does not have an expiration date or a limit on the number of shares that may be purchased.  During the years ended October&#160;31, 2022 and 2021, we p&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;urchased 291,000 shares and 478,311 shares, respectively, at a cost of $6.6&#160;million and $11.2&#160;million respectively, under these programs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record treasury stock purchases under the cost method whereby the entire cost of the acquired stock is recorded as treasury stock. Shares are generally issued from treasury stock at the time of grant of restricted stock awards, upon the exercise of stock options, and upon the vesting of performance shares and performance restricted stock units. On the subsequent issuance of treasury shares, we record proceeds in excess of cost as an increase in additional paid-in-capital. A deficiency of such proceeds relative to costs would be applied to reduce paid-in-capital associated with prior issuances to the extent available, with the remainder recorded as a charge to retained earnings. We recorded a charge to retained earnings of zero, zero and $0.1&#160;million, in the years ended October&#160;31, 2022, 2021, and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For a summary of treasury stock activity for the years ended October&#160;31, 2022, 2021 and 2020, refer to the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Consolidated Statement of Stockholders' Equity&lt;/span&gt; located elsewhere herein.</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzgy_4fd5004e-7df0-45a8-af9c-5a752a71787e"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzEyNQ_32578b2f-e9a3-4ea5-a39e-442e901a382b"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzE0Mw_31fde83a-2c56-4099-8ab7-37c575c4b661"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzE3OA_78133128-e182-4f7d-953a-0196f912f452"
      unitRef="usdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzIxNw_3eeb66c0-d7e8-4e05-8729-26ce65debae7"
      unitRef="shares">37211056</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzIyNA_f407d98b-ad98-469b-9f4c-133090dd3574"
      unitRef="shares">37273510</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzI3Nw_baba8837-caa4-4895-8fc4-1d56aa671389"
      unitRef="shares">33129250</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzI4NA_bb8363b4-2d7c-488c-b5fc-456fa174315e"
      unitRef="shares">33274785</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i7cafded9cc4c4581a6c3ef9fe0999e57_I20180830"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzU0OTc1NTgxNjQ1OA_4f959ddd-a38b-41d0-b0df-88c45586dee8"
      unitRef="usd">60000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="id312e7408a824b7da16ed9ff5339e171_I20211210"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzU0OTc1NTgxNjQ3Mw_4887f357-3a8c-483a-be27-7fc3c900bf34"
      unitRef="usd">75000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzk2OQ_3228ecf6-017a-461d-bb2d-5cd7111187e4"
      unitRef="shares">291000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzk4Mw_ecba4b72-0952-49a4-ad1d-478ab5628de1"
      unitRef="shares">478311</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzEwMjE_e45bfcd2-bf21-4633-8c25-8a37e58de04b"
      unitRef="usd">6600000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzEwMjg_7e1ce955-0e9f-41a4-9895-98c0f946f881"
      unitRef="usd">11200000</us-gaap:StockRepurchasedDuringPeriodValue>
    <nx:Deficiencyofstockoptionproceedsrecordedtoretainedearnings
      contextRef="i420e9738fbfe4115ba930124445b536f_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzE4MDA_580820fe-55af-4992-8f80-c0b0f7830d35"
      unitRef="usd">0</nx:Deficiencyofstockoptionproceedsrecordedtoretainedearnings>
    <nx:Deficiencyofstockoptionproceedsrecordedtoretainedearnings
      contextRef="i1f6671c9727d44aaa43869d65a0c9a6f_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzE4MDQ_84627444-eb3f-4fe2-8b81-70d5631eac25"
      unitRef="usd">0</nx:Deficiencyofstockoptionproceedsrecordedtoretainedearnings>
    <nx:Deficiencyofstockoptionproceedsrecordedtoretainedearnings
      contextRef="iccb93a0f0a894ed9bc2b925150c5d065_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzMvZnJhZzo4Y2M3N2YwNWZjOWU0MDk3ODgzZTE2Y2RkMzg0NTgzMy90ZXh0cmVnaW9uOjhjYzc3ZjA1ZmM5ZTQwOTc4ODNlMTZjZGQzODQ1ODMzXzE4MTE_2105af91-71df-462a-bba2-c97207ef58ed"
      unitRef="usd">100000</nx:Deficiencyofstockoptionproceedsrecordedtoretainedearnings>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90ZXh0cmVnaW9uOmQ2MWQ3YmYxZmI3MDQzN2I4YjcwZDNlNWU2ODdkN2FkXzE5Mg_80138582-6e05-451e-9294-597bfb43e82c">Other, net &lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other income included under the caption &#x201c;Other, net&#x201d; on the accompanying consolidated statements of income (loss), consisted of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.554%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.575%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency transaction&#160;gains (losses)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(98)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(42)&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency exchange derivative gains (losses)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Pension service benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(166)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90ZXh0cmVnaW9uOmQ2MWQ3YmYxZmI3MDQzN2I4YjcwZDNlNWU2ODdkN2FkXzE4MQ_e9ed737e-f509-4c3b-9436-e7a16ec51509">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other income included under the caption &#x201c;Other, net&#x201d; on the accompanying consolidated statements of income (loss), consisted of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.554%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.575%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency transaction&#160;gains (losses)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(98)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(42)&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency exchange derivative gains (losses)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Pension service benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(166)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzItMS0xLTEtMzkxNTc_11d2b12d-5e3c-4efb-9860-1e98b41dced9"
      unitRef="usd">386000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzItMy0xLTEtMzkxNTc_6ae86342-1156-41d5-aaa1-d32e0d7b02cc"
      unitRef="usd">-98000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzItNS0xLTEtMzkxNTc_26741458-a04d-47d6-b113-52760a707869"
      unitRef="usd">-42000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzMtMS0xLTEtMzkxNTc_254e064a-9877-4c83-9024-3a0a8c78bd40"
      unitRef="usd">19000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzMtMy0xLTEtMzkxNTc_6ba12fc4-fa8b-4b32-ab6d-d22a27cb65a0"
      unitRef="usd">0</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzMtNS0xLTEtMzkxNTc_d79ed03e-496b-4046-a9bf-7885fc6d1662"
      unitRef="usd">-15000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <nx:PensionServiceBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzQtMS0xLTEtMzkxNTc_50e8ae3d-bad7-467d-a2fa-55848ef48ba2"
      unitRef="usd">783000</nx:PensionServiceBenefit>
    <nx:PensionServiceBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzQtMy0xLTEtMzkxNTc_fd20826b-a073-4ea3-ae35-4f8d7d767f15"
      unitRef="usd">839000</nx:PensionServiceBenefit>
    <nx:PensionServiceBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzQtNS0xLTEtMzkxNTc_9a02d0ac-ef11-4fd6-beb7-10a764762678"
      unitRef="usd">243000</nx:PensionServiceBenefit>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzUtMS0xLTEtMzkxNTc_f899b592-bcd8-4f2e-8eb3-461eba618ba1"
      unitRef="usd">19000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzUtMy0xLTEtMzkxNTc_156ab625-0153-478b-9fd3-d6c0268b9eb3"
      unitRef="usd">5000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzUtNS0xLTEtMzkxNTc_4d08fcc2-3318-4c7e-ac43-b37f63e29a45"
      unitRef="usd">28000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzYtMS0xLTEtMzkxNTc_a91940c8-a54c-400b-b82a-343d505eff89"
      unitRef="usd">-166000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzYtMy0xLTEtMzkxNTc_fee46580-f610-4a14-8dbd-78f9ac4f59d3"
      unitRef="usd">8000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzYtNS0xLTEtMzkxNTc_223a72f8-c994-4734-b411-7714d74b255f"
      unitRef="usd">66000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzctMS0xLTEtMzkxNTc_1d15ebd9-7cc1-4542-b291-ac1f040a5168"
      unitRef="usd">1041000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzctMy0xLTEtMzkxNTc_7ac5f2e1-ec96-4020-a5e7-fed09e712289"
      unitRef="usd">754000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzYvZnJhZzpkNjFkN2JmMWZiNzA0MzdiOGI3MGQzZTVlNjg3ZDdhZC90YWJsZTo2YWQ2Zjk2NjhkN2I0OTgzYjBlYWQ4NzNmNTBjNTVhZC90YWJsZXJhbmdlOjZhZDZmOTY2OGQ3YjQ5ODNiMGVhZDg3M2Y1MGM1NWFkXzctNS0xLTEtMzkxNTc_a0fb052c-d537-45dc-bcdb-3e29f8a0eb17"
      unitRef="usd">280000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzM0NDY_0ea98871-f30b-4aff-956b-884b8762aa1a">Segment Information &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We present three reportable business segments: (1) NA Fenestration, comprising three operating segments primarily focused on the fenestration market in North America including vinyl profiles, insulating glass spacers, screens &amp;amp; other fenestration components; (2) EU Fenestration, comprising our U.K.-based vinyl extrusion business, manufacturing vinyl profiles &amp;amp; conservatories, and the European insulating glass business manufacturing insulating glass spacers; and (3) NA Cabinet Components, comprising our cabinet door and components segment.  We maintain a grouping called Unallocated Corporate &amp;amp; Other, which includes transaction expenses, stock-based compensation, long-term incentive awards based on the performance of our common stock and other factors, certain severance and legal costs not deemed to be allocable to all segments, depreciation of corporate assets, interest expense, other, net, income taxes and inter-segment eliminations, and executive incentive compensation and medical expense fluctuations relative to planned costs as determined during the annual planning process.  Other general and administrative costs associated with the corporate office are allocated to the reportable segments, based upon a relative measure of profitability in order to more accurately reflect each reportable business segment's administrative costs.  We allocate corporate expenses to businesses acquired mid-year from the date of acquisition. The accounting policies of our operating segments are the same as those used to prepare the accompanying consolidated financial statements.  Corporate general and administrative expenses allocated during the years ended October&#160;31, 2022, 2021 and 2020 were &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$24.5 million&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;, $21.6 million and $21.7 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASC Topic 280-10-50, &#x201c;Segment Reporting&#x201d; (ASC 280) permits aggregation of operating segments based on factors including, but not limited to: (1) similar nature of products serving the building products industry, primarily the fenestration business; (2) similar production processes, although there are some differences in the amount of automation amongst operating plants; (3) similar types or classes of customers, namely the primary OEMs; (4) similar distribution methods for product delivery, although the extent of the use of third-party distributors will vary amongst the businesses; (5) similar regulatory environment; and (6) converging long-term economic similarities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt;margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment information for the years ended October&#160;31, 2022, 2021 and 2020 was as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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:700;line-height:100%;text-decoration:underline"&gt;Year Ended October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;74,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,804)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,121&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;724,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:700;line-height:100%;text-decoration:underline"&gt;Year Ended October 31, 2021&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;578,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,732&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;56,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,573)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,870&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,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:10pt;font-weight:400;line-height:100%"&gt;328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,008&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;268,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;717,323&#160;&lt;/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:700;line-height:100%;text-decoration:underline"&gt;Year Ended October 31, 2020&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210,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;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;47,229&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;39,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,502)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,218)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,265&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,423&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,726&#160;&lt;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the change in the carrying amount of goodwill by segment for the years ended October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;146,154&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation 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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2021&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,346&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,205&#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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation 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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2022&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,996&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#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-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For further details of Goodwill, see Note 6, &#x201c;Goodwill and Intangible Assets&#x201d;, located herewith.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not allocate non-operating expense or income tax expense to the reportable segments.  The following table reconciles operating income as reported above to net income for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;(2,559)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,530)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,245)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Income tax 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:10pt;font-weight:400;line-height:100%"&gt;(21,427)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,804)&lt;/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 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Geographic Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our manufacturing facilities and all long-lived assets are located in the U.S., U.K. and Germany. We attribute our net sales to a geographic region based on the location of the customer. The following tables provide information concerning our net sales for the years ended October&#160;31, 2022, 2021 and 2020, and our long-lived assets as of October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;911,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;778,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;654,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;244,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canada&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,504&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other foreign countries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,223&#160;&lt;/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 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&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:73.607%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;Long-lived assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,513&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Kingdom&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,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:10pt;font-weight:400;line-height:100%"&gt;146,158&#160;&lt;/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 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-lived assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;439,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462,953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Long-lived assets, net includes: property, plant and equipment, net; goodwill, intangible assets, net, and operating leases.</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzQx_3a3f7fa0-6ab0-4df8-8bcd-327bf006324d"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzEwNg_e822df35-b152-452d-87ef-d93fd9345cbe"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzE3MTA_26ff1a06-a53e-48c9-bbd6-abc2a7c538f0"
      unitRef="usd">24500000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzE3MTQ_68e7d432-77be-4c36-8cc9-f74c8de7623d"
      unitRef="usd">21600000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzE3MjE_612ea1c4-366e-47b7-97ae-0d3decd24b29"
      unitRef="usd">21700000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzM0NjI_2affe293-d6ab-48f3-8335-d8ac464185a7">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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:700;line-height:100%;text-decoration:underline"&gt;Year Ended October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;687,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,718)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;74,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,804)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,121&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;724,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:700;line-height:100%;text-decoration:underline"&gt;Year Ended October 31, 2021&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;578,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;246,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,732&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;56,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,573)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,870&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,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:10pt;font-weight:400;line-height:100%"&gt;328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,008&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;268,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;717,323&#160;&lt;/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:700;line-height:100%;text-decoration:underline"&gt;Year Ended October 31, 2020&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210,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;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;47,229&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;39,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,502)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,218)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,265&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,423&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,726&#160;&lt;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the change in the carrying amount of goodwill by segment for the years ended October&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;146,154&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation 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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2021&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,346&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,205&#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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation 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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2022&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,996&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td 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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#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-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not allocate non-operating expense or income tax expense to the reportable segments.  The following table reconciles operating income as reported above to net income for the years ended October&#160;31, 2022, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;font-weight:400;line-height:100%"&gt;(2,559)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,530)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,245)&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Other, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;754&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Income tax 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:10pt;font-weight:400;line-height:100%"&gt;(21,427)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(23,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,804)&lt;/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 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzItMS0xLTEtMzkxNTc_a232ea9e-80d1-4f50-920a-687c9bf3d3cb"
      unitRef="usd">687458000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="iafc0c4cc290c4bb984d57252044d3462_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzItMy0xLTEtMzkxNTc_d0c63cb3-b54f-4ffe-b4aa-bab7c59efe2d"
      unitRef="usd">262058000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i07df771895a340428470496ea6d0e050_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzItNS0xLTEtMzkxNTc_6cb2c0cd-9759-4944-bae1-b2e15fdf2998"
      unitRef="usd">275704000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzItNy0xLTEtMzkxNTc_9563a631-2053-44be-b92b-032ec0077046"
      unitRef="usd">-3718000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzItOS0xLTEtMzkxNTc_a2f027c8-b58f-4c08-a5f9-519aa2a2dfde"
      unitRef="usd">1221502000</us-gaap:Revenues>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzMtMS0xLTEtMzkxNTc_ce042164-11c2-4007-8f77-f06d6b5e9b4c"
      unitRef="usd">16253000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iafc0c4cc290c4bb984d57252044d3462_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzMtMy0xLTEtMzkxNTc_fb396fae-cbe7-44a6-b1e8-5537f11f16ce"
      unitRef="usd">9674000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i07df771895a340428470496ea6d0e050_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzMtNS0xLTEtMzkxNTc_97e5cc55-a1e5-4f97-875e-055fc87ba2e8"
      unitRef="usd">13830000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzMtNy0xLTEtMzkxNTc_47217700-cdc8-4222-9e68-3f6e2ffed4d4"
      unitRef="usd">352000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzMtOS0xLTEtMzkxNTc_c9771d51-6d2b-4723-92df-815bf20dfbb2"
      unitRef="usd">40109000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzQtMS0xLTEtMzkxNTc_629e708e-0712-45eb-b128-5b3347510a02"
      unitRef="usd">74570000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iafc0c4cc290c4bb984d57252044d3462_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzQtMy0xLTEtMzkxNTc_c36419f1-3a8d-47a6-8423-c2ace0e852d5"
      unitRef="usd">40270000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i07df771895a340428470496ea6d0e050_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzQtNS0xLTEtMzkxNTc_be4e2e9e-9521-4c54-9880-1b4123594ad4"
      unitRef="usd">3245000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzQtNy0xLTEtMzkxNTc_d50a3a58-11d2-49b4-a4d1-bea7b15383c6"
      unitRef="usd">-6804000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzQtOS0xLTEtMzkxNTc_62a1c21c-f57e-4fbe-b768-53ddfee1c810"
      unitRef="usd">111281000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzUtMS0xLTEtMzkxNTc_e35c9dcc-4b8f-44e6-8ce3-9cc5e61763fd"
      unitRef="usd">18758000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iafc0c4cc290c4bb984d57252044d3462_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzUtMy0xLTEtMzkxNTc_e9d5ecb3-d238-4c27-a7f5-af8a72cb4571"
      unitRef="usd">7810000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i07df771895a340428470496ea6d0e050_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzUtNS0xLTEtMzkxNTc_5515cdcb-eed6-493f-a4b0-9e2538a4dfda"
      unitRef="usd">6454000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzUtNy0xLTEtMzkxNTc_34a5bfe7-fa67-46b8-90d1-52a5c624d8a1"
      unitRef="usd">99000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzUtOS0xLTEtMzkxNTc_a4af01bd-2f55-49a7-9a32-03fe43882b78"
      unitRef="usd">33121000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Assets
      contextRef="id7a67d01f1b74492b1de75c34252da53_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzYtMS0xLTEtMzkxNTc_7a87a20a-9466-4cd2-a760-3063f371b9e6"
      unitRef="usd">279139000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i970d411c36134d14aa2df716489ac066_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzYtMy0xLTEtMzkxNTc_74d9fe35-7d99-4ac0-9399-215aca51abd8"
      unitRef="usd">223729000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib8b63f1f03c94c9693b1d503247f67dd_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzYtNS0xLTEtMzkxNTc_984f968a-9f1a-49a7-abcc-d5780a3ab5f8"
      unitRef="usd">176154000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ice5d578412af42a09817168049e788e0_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzYtNy0xLTEtMzkxNTc_ddd04391-de5f-4cad-9c74-a58261384798"
      unitRef="usd">45595000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzYtOS0xLTEtMzkxNTc_8a44c1d6-a45d-49c1-a4cd-8a11df388674"
      unitRef="usd">724617000</us-gaap:Assets>
    <us-gaap:Revenues
      contextRef="ie3da1826779f480aab537d9118f5824f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzgtMS0xLTEtMzkxNTc_d3a387bd-8569-4108-b9b7-994e7e7ef846"
      unitRef="usd">578332000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic2af379ea1114bd7aad31d0eb5040cf5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzgtMy0xLTEtMzkxNTc_18a93696-a9e4-402e-b411-007a0b430c52"
      unitRef="usd">251599000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzgtNS0xLTEtMzkxNTc_70e0a5b9-fbfe-4d61-9367-c838ec4ca77a"
      unitRef="usd">246075000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzgtNy0xLTEtMzkxNTc_4da8a073-e20b-4381-bd5c-40ebd0c33972"
      unitRef="usd">-3857000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzgtOS0xLTEtMzkxNTc_37d62f75-2b51-4bef-9f42-dd73960582a5"
      unitRef="usd">1072149000</us-gaap:Revenues>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie3da1826779f480aab537d9118f5824f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzktMS0xLTEtMzkxNTc_8a6a8610-546a-4e93-a169-3d283e1afd9a"
      unitRef="usd">18730000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ic2af379ea1114bd7aad31d0eb5040cf5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzktMy0xLTEtMzkxNTc_336292b5-c690-4099-82c6-af53e23ddd20"
      unitRef="usd">10373000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzktNS0xLTEtMzkxNTc_edc533c6-3573-43ae-83f3-6bef43c06c5d"
      unitRef="usd">13263000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzktNy0xLTEtMzkxNTc_390ee12a-ec01-4b17-a99a-fa279fc04726"
      unitRef="usd">366000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzktOS0xLTEtMzkxNTc_16cf16e7-150b-480b-a2d3-30fa31752589"
      unitRef="usd">42732000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie3da1826779f480aab537d9118f5824f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEwLTEtMS0xLTM5MTU3_046cab70-44ea-4ad5-89c2-bce19d789e42"
      unitRef="usd">56248000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic2af379ea1114bd7aad31d0eb5040cf5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEwLTMtMS0xLTM5MTU3_c4faea29-002e-4c4c-aece-c5248defcaea"
      unitRef="usd">39299000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEwLTUtMS0xLTM5MTU3_777a9dd9-2901-4429-880e-c1b397a276c4"
      unitRef="usd">896000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEwLTctMS0xLTM5MTU3_1f5e0ec0-9d75-4395-bc34-4ceee5528b47"
      unitRef="usd">-14573000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEwLTktMS0xLTM5MTU3_355f2195-7b68-407b-81a4-693c049f524b"
      unitRef="usd">81870000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie3da1826779f480aab537d9118f5824f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzExLTEtMS0xLTM5MTU3_9a3cf7b3-b4b9-4363-acca-f1e425d6df34"
      unitRef="usd">9966000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ic2af379ea1114bd7aad31d0eb5040cf5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzExLTMtMS0xLTM5MTU3_56bb61bc-5679-496a-b5f3-5f1a931a819f"
      unitRef="usd">8155000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzExLTUtMS0xLTM5MTU3_1e8d1dde-f207-452b-8715-e8e60b3165de"
      unitRef="usd">5559000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzExLTctMS0xLTM5MTU3_c3c8f7d4-27da-437e-8ecc-6aa6acbc2cec"
      unitRef="usd">328000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzExLTktMS0xLTM5MTU3_6d9a1845-530d-4958-b284-3ef6932cbdaa"
      unitRef="usd">24008000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Assets
      contextRef="i11b8d96e13c94fe99c20f55b40b80465_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEyLTEtMS0xLTM5MTU3_18c531af-6a7a-4538-9cf8-37398c0c631c"
      unitRef="usd">268773000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5fbca8cbafca41d49c89cb1fd4d732bb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEyLTMtMS0xLTM5MTU3_f33d5b45-e8ad-4a0d-be4e-53c226421edb"
      unitRef="usd">236755000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i9e85100c2c6c4be58fa00b64c7d1cbac_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEyLTUtMS0xLTM5MTU3_063382f4-55c5-4fbf-9e68-ebafdd84c62c"
      unitRef="usd">178671000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="iae691f0d435649db960a5e63a43d9801_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEyLTctMS0xLTM5MTU3_79c1c9d1-0220-4e16-af26-3b4763fdcc09"
      unitRef="usd">33124000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzEyLTktMS0xLTM5MTU3_190aade9-3e81-40fe-a776-f226f3e79b6e"
      unitRef="usd">717323000</us-gaap:Assets>
    <us-gaap:Revenues
      contextRef="iefa0b3f284e949ed9443ad3d037ea2f2_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE0LTEtMS0xLTM5MTU3_380a66a3-14e5-493e-82d7-585725fffb1d"
      unitRef="usd">483415000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i88ea2f9d5b9f4f8fa262797308c4c0eb_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE0LTMtMS0xLTM5MTU3_4bb0f86a-992e-4344-8c5a-a2f38ad094a3"
      unitRef="usd">161054000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i37fcf93183be4d6da99ee0dd86e50743_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE0LTUtMS0xLTM5MTU3_26bed4b6-6315-43e6-8c74-178847ba17ee"
      unitRef="usd">210099000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i349ebb06cb1e4c6b8cc6fa48b0f6b3e8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE0LTctMS0xLTM5MTU3_4351630b-5efc-4e60-ba63-9eac879335b2"
      unitRef="usd">-2995000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE0LTktMS0xLTM5MTU3_de878586-e902-4a6c-a4ef-39fd78444c0f"
      unitRef="usd">851573000</us-gaap:Revenues>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iefa0b3f284e949ed9443ad3d037ea2f2_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE1LTEtMS0xLTM5MTU3_211e3cbd-850e-4643-abc4-ee8e062b07e0"
      unitRef="usd">23555000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i88ea2f9d5b9f4f8fa262797308c4c0eb_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE1LTMtMS0xLTM5MTU3_e95ac0d0-b680-41f4-bf9c-35bdcf9e8ce3"
      unitRef="usd">9468000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i37fcf93183be4d6da99ee0dd86e50743_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE1LTUtMS0xLTM5MTU3_4dd41eb9-0728-467a-bdb6-9740005efa6f"
      unitRef="usd">13732000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i349ebb06cb1e4c6b8cc6fa48b0f6b3e8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE1LTctMS0xLTM5MTU3_4bb75976-b4e8-4a35-be66-20f359ad2e8e"
      unitRef="usd">474000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE1LTktMS0xLTM5MTU3_ed194cb8-fcc1-4ebd-b892-e2d92faa42e4"
      unitRef="usd">47229000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="iefa0b3f284e949ed9443ad3d037ea2f2_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE2LTEtMS0xLTM5MTU3_5221ea69-05db-4311-9806-f9710ee14e6c"
      unitRef="usd">39909000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i88ea2f9d5b9f4f8fa262797308c4c0eb_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE2LTMtMS0xLTM5MTU3_7799cd1f-549b-49b0-a8dd-bdc7e4a702fe"
      unitRef="usd">20076000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i37fcf93183be4d6da99ee0dd86e50743_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE2LTUtMS0xLTM5MTU3_ccc3cd08-5039-4a1d-96a7-7fbde91cf2ff"
      unitRef="usd">-2502000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i349ebb06cb1e4c6b8cc6fa48b0f6b3e8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE2LTctMS0xLTM5MTU3_9f499470-bf41-419b-81e1-bc20828dd36d"
      unitRef="usd">-2218000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE2LTktMS0xLTM5MTU3_ae3bb7f3-b8e8-4544-a1e4-3e6474510517"
      unitRef="usd">55265000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iefa0b3f284e949ed9443ad3d037ea2f2_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE3LTEtMS0xLTM5MTU3_c3040392-b574-490d-9802-5001330500fd"
      unitRef="usd">15761000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i88ea2f9d5b9f4f8fa262797308c4c0eb_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE3LTMtMS0xLTM5MTU3_2f94176c-b8f3-44f4-8309-c6b8ff4eae3f"
      unitRef="usd">5435000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i37fcf93183be4d6da99ee0dd86e50743_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE3LTUtMS0xLTM5MTU3_145556a0-580e-44f8-b228-d93ff2c9cdc2"
      unitRef="usd">4423000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i349ebb06cb1e4c6b8cc6fa48b0f6b3e8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE3LTctMS0xLTM5MTU3_b599eab9-0aac-4a04-9b7e-9dfd1489e4da"
      unitRef="usd">107000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToyYTA5NDRkN2MxZDI0MzYyYTQ3MGYwZTM5YjFjMzBhNi90YWJsZXJhbmdlOjJhMDk0NGQ3YzFkMjQzNjJhNDcwZjBlMzliMWMzMGE2XzE3LTktMS0xLTM5MTU3_4f390ee6-dd8b-4fb7-b584-22358b058b1d"
      unitRef="usd">25726000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Goodwill
      contextRef="i1e81a2db8ba24122a259cff57f0052bf_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzMtMS0xLTEtMzkxNTc_06f7f044-6757-4f19-a757-3fc7f57c7284"
      unitRef="usd">38712000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8d8d6323b9a5434e83a28591edbcd56f_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzMtMy0xLTEtMzkxNTc_816d3e22-ffc3-4f24-9beb-a7435891c11f"
      unitRef="usd">68295000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="idd7575af67504935ab35814c6132ca6b_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzMtNS0xLTEtMzkxNTc_f0e43cc8-271d-4f6b-a7f8-ca8bdeeb0f2a"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ibb050e6428fc4e109ada7f5fecabb6d6_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzMtNy0xLTEtMzkxNTc_7f71a7e4-cfa0-487a-ab99-9509377e4bb0"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i524d0b18eb5d4986a4e9205c16ad8b46_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzMtOS0xLTEtMzkxNTc_1fc1ff38-9caa-4f10-8254-65268e119925"
      unitRef="usd">146154000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ie3da1826779f480aab537d9118f5824f_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzUtMS0xLTEtMzkxNTc_2014c04c-fc32-4b34-905f-9738d13356bc"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="iff0052bfdb35428cbe97455fd0f8ef61_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzUtMy0xLTEtMzkxNTc_9afb9df3-b69d-439e-b17d-69b3bc148ff7"
      unitRef="usd">3051000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i005f2eb796f94db5a2e4b04fc50c231d_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzUtNS0xLTEtMzkxNTc_1881f47e-5249-44a1-b8bf-aec729064144"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="id09ac530a9894b4ebe29f7c7fee6fd39_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzUtNy0xLTEtMzkxNTc_f4b094c1-c49a-4702-9173-537f973cf559"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzUtOS0xLTEtMzkxNTc_e4c59960-c9e4-4d3d-89a4-0fa647c17a73"
      unitRef="usd">3051000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i11b8d96e13c94fe99c20f55b40b80465_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzYtMS0xLTEtMzkxNTc_7bd8d6a4-e75d-4859-b70d-161406d51f25"
      unitRef="usd">38712000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5fbca8cbafca41d49c89cb1fd4d732bb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzYtMy0xLTEtMzkxNTc_5cf96ee2-67ef-45c9-ae87-aa95fd3e8cb1"
      unitRef="usd">71346000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i9e85100c2c6c4be58fa00b64c7d1cbac_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzYtNS0xLTEtMzkxNTc_efaad127-e3d5-4a1d-9395-5d0a65548a65"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iae691f0d435649db960a5e63a43d9801_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzYtNy0xLTEtMzkxNTc_b6536ee8-0626-4133-958c-d4f5451b59e5"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzYtOS0xLTEtMzkxNTc_b1df4c99-c1f7-44f1-a9fc-236b01aa11bf"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i0f2404585e374fe3bfe1fe4ae3695b6b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzctMS0xLTEtMzkxNTc_a6a472c6-5b83-4317-8284-617a14ca0199"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i375283bf23774003b2f56a904c5408e0_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzctMy0xLTEtMzkxNTc_5f8c99c5-2a4c-43d9-bcb4-de90c2503bb6"
      unitRef="usd">-11350000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i07df771895a340428470496ea6d0e050_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzctNS0xLTEtMzkxNTc_277a46a6-c716-4872-9f96-906233faed88"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ia449c1016e1b4f3f94dae0a3e1b6a1c7_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzctNy0xLTEtMzkxNTc_7b4b4269-74a8-4da2-9ecb-748826dc3bd4"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzctOS0xLTEtMzkxNTc_78e5c5be-db33-4dcb-a9e7-fe06fc15a88f"
      unitRef="usd">-11350000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="id7a67d01f1b74492b1de75c34252da53_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzgtMS0xLTEtMzkxNTc_9dcda317-85b8-4aa2-a29d-6bedd40a9b54"
      unitRef="usd">38712000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i970d411c36134d14aa2df716489ac066_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzgtMy0xLTEtMzkxNTc_a89d51c4-ad57-4205-942e-9ab216a20794"
      unitRef="usd">59996000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib8b63f1f03c94c9693b1d503247f67dd_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzgtNS0xLTEtMzkxNTc_5720e14b-1c2e-4289-ae15-069b9569c90a"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ice5d578412af42a09817168049e788e0_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzgtNy0xLTEtMzkxNTc_d04419f2-a0f7-48f7-826a-1377b137d3e9"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo2ODY5MzI4ZWQzYzA0NmUyYmY1ZWI0OGFhOTIxMDljYi90YWJsZXJhbmdlOjY4NjkzMjhlZDNjMDQ2ZTJiZjVlYjQ4YWE5MjEwOWNiXzgtOS0xLTEtMzkxNTc_3452ba09-f753-4a68-a626-82c45b9db9f8"
      unitRef="usd">137855000</us-gaap:Goodwill>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzItMS0xLTEtMzkxNTc_0f5bbe95-2d4a-48a9-860a-e69b8697429e"
      unitRef="usd">111281000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzItMy0xLTEtMzkxNTc_6ec6c9e8-dc27-4659-a759-7f215a9b66e6"
      unitRef="usd">81870000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzItNS0xLTEtMzkxNTc_a95ce161-815c-4d25-82ef-1284a9f77daa"
      unitRef="usd">55265000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzMtMS0xLTEtMzkxNTc_2a5e85f0-c41c-47e5-9611-84f5ad027949"
      unitRef="usd">2559000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzMtMy0xLTEtMzkxNTc_94894816-9a35-41a1-b442-1bd2e05742f9"
      unitRef="usd">2530000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzMtNS0xLTEtMzkxNTc_d05ed08d-cfef-423f-b899-89c7eaeaf34f"
      unitRef="usd">5245000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzQtMS0xLTEtMzkxNTc_5dfe7516-4758-47d4-8cb6-545b5c4df77f"
      unitRef="usd">1041000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzQtMy0xLTEtMzkxNTc_25bcf61d-0ece-4611-b14e-2ea2d229719f"
      unitRef="usd">754000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzQtNS0xLTEtMzkxNTc_c9599f6d-a013-4923-9aef-d82fdf7075d8"
      unitRef="usd">280000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzUtMS0xLTEtMzkxNTc_0f6f496e-3051-457e-ae34-b3bcc404db58"
      unitRef="usd">21427000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzUtMy0xLTEtMzkxNTc_caf24943-ba8b-43c8-87b5-daf8b976cb9f"
      unitRef="usd">23114000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzUtNS0xLTEtMzkxNTc_8f7e35aa-2d2d-4ecd-9026-eea4267bb27d"
      unitRef="usd">11804000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzYtMS0xLTEtMzkxNTc_a03fb362-8a6a-429a-944e-223fe1fc09b6"
      unitRef="usd">88336000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzYtMy0xLTEtMzkxNTc_168f5aa0-1a76-45d4-9f03-3c17acb3027c"
      unitRef="usd">56980000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTozMGQzYjU2MTk0NTA0N2E5OGFhZGE0NjY4NDk2Yzc1YS90YWJsZXJhbmdlOjMwZDNiNTYxOTQ1MDQ3YTk4YWFkYTQ2Njg0OTZjNzVhXzYtNS0xLTEtMzkxNTc_1277e709-3666-4c85-a364-ddfb39ee6c82"
      unitRef="usd">38496000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90ZXh0cmVnaW9uOjQ0MDJiZDUwMjYzZjQyNmFhNjA2MWJjYWI0MDE1NDc2XzM0NDU_023da775-e597-4875-8ea4-57429a8c6e91">The following tables provide information concerning our net sales for the years ended October&#160;31, 2022, 2021 and 2020, and our long-lived assets as of October&#160;31, 2022 and 2021 (in thousands):&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;911,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;778,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;654,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;244,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canada&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,504&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other foreign countries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,223&#160;&lt;/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 25.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,072,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&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:73.607%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;Long-lived assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,513&#160;&lt;/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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Kingdom&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,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:10pt;font-weight:400;line-height:100%"&gt;146,158&#160;&lt;/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 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total long-lived assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;439,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462,953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:Revenues
      contextRef="i36c4da6f86424fbf98a192e6ad99daa5_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzItMS0xLTEtMzkxNTc_bca62ba2-bdd8-4da3-8808-d87a0924cfd5"
      unitRef="usd">911180000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i422fadfd5d9b46769a8aa312d0fe7e1b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzItMy0xLTEtMzkxNTc_919c3169-d57e-41ea-b7a1-97714690c32c"
      unitRef="usd">778486000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i784f85a867414259a6a8a3d690610b15_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzItNS0xLTEtMzkxNTc_eda700f7-bd17-4f1b-b79a-2bb96e7a0e58"
      unitRef="usd">654802000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0cac8a7300fa4806a8e4c1051116404b_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzMtMS0xLTEtMzkxNTc_e9f2899f-76bd-451e-829f-a1dac09af91f"
      unitRef="usd">255400000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="id837b5110dc24f63a7f48b7adf05ef6b_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzMtMy0xLTEtMzkxNTc_47d39c1a-a919-40c2-b3c0-7a0be5f94428"
      unitRef="usd">244308000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic8de60d82cc54717b97ba10dc16f3f6c_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzMtNS0xLTEtMzkxNTc_faffa4f0-0936-4029-8a8d-b36c15b24193"
      unitRef="usd">158831000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if23593f6d7ba4f6d97cd6cb838a9d16f_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzQtMS0xLTEtMzkxNTc_8f756e2d-c245-48dd-b6a2-7ecf02a113ae"
      unitRef="usd">31442000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="iee363b335d724f34b05f8954f9c4d662_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzQtMy0xLTEtMzkxNTc_afaf747b-ae03-4d10-8662-78722900955d"
      unitRef="usd">25007000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="id51445a610274fc6be33bc40ace70306_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzQtNS0xLTEtMzkxNTc_29d91474-a48f-4cdc-9ce8-7359756fdd5f"
      unitRef="usd">18213000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i5e4f412f48bb40dba127421176fd17ba_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzUtMS0xLTEtMzkxNTc_cdc4ee0e-e25a-4c73-9ec6-839ffa2ce72f"
      unitRef="usd">15021000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ie9a223acfb0e45b29ecbf5657e0a1d68_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzUtMy0xLTEtMzkxNTc_3f89422e-a945-46ed-ba1c-6baa95249cae"
      unitRef="usd">18445000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if18c113fcc2440a99b5598c42bc96de8_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzUtNS0xLTEtMzkxNTc_3c9a164b-baef-42f2-ac25-08cf2fd962bb"
      unitRef="usd">11504000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i2e33e6ccd33c4d8e9f33ad4111a59376_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzYtMS0xLTEtMzkxNTc_b3238a95-0547-4df8-a1fc-d40efe844f90"
      unitRef="usd">8459000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i05df86b9ed5545ee8597a69111667866_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzYtMy0xLTEtMzkxNTc_9cb94f26-1c0f-4796-bec8-f41c34d68b2d"
      unitRef="usd">5903000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic803bf084f9945e3993348e905192bdb_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzYtNS0xLTEtMzkxNTc_eae8bf22-4b6a-4ecc-8da9-e9fda3f5eab6"
      unitRef="usd">8223000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzctMS0xLTEtMzkxNTc_bae49824-369d-4531-b8fc-52c524d25892"
      unitRef="usd">1221502000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzctMy0xLTEtMzkxNTc_7586697b-7af0-49f9-8c80-ac8c3ab9d483"
      unitRef="usd">1072149000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZToxMmYzZjE1MDU0NjQ0ZmQxOTllZDhhN2Y1ZjBkYmM0Mi90YWJsZXJhbmdlOjEyZjNmMTUwNTQ2NDRmZDE5OWVkOGE3ZjVmMGRiYzQyXzctNS0xLTEtMzkxNTc_f9dc45d7-8198-4238-b1c9-dd63b7e77ad7"
      unitRef="usd">851573000</us-gaap:Revenues>
    <us-gaap:NoncurrentAssets
      contextRef="iab8dc0dc2ceb4e8abd0d5ec898fbe4dd_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzItMS0xLTEtMzkxNTc_0385f159-6155-4739-9750-487fd72fba74"
      unitRef="usd">279616000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i005316ed9a6b4770bd19c78c22db5183_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzItMy0xLTEtMzkxNTc_6ffe6ff0-29ef-4e08-921b-12bc531648a9"
      unitRef="usd">291282000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i8f00279fdf1d40d385481784dfc955fb_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzMtMS0xLTEtMzkxNTc_6814d6e9-af7f-472f-b997-c70d072628ee"
      unitRef="usd">41669000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="if44b2bb1afe64c7cb7b103ee8004ed32_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzMtMy0xLTEtMzkxNTc_397e99b0-cc96-4f09-9e36-8f69ea6a13dd"
      unitRef="usd">25513000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i2092250fb82f41eab57a192f564dad87_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzQtMS0xLTEtMzkxNTc_a2bc204c-6ae4-4ecc-b8d3-a7f1770c95d9"
      unitRef="usd">118005000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i64633b71d0f54b57978bb2dce611a718_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzQtMy0xLTEtMzkxNTc_f5ae0faa-2b51-4650-8cf0-e00303b57f8c"
      unitRef="usd">146158000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="ib5c14058d79242e89abfb5ff0d29593b_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzUtMS0xLTEtMzkxNTc_ecc54ea8-5ab1-4163-b823-c515111f2b70"
      unitRef="usd">439290000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i8de244bcb4924e0b91afd15a7af9a7eb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xMzkvZnJhZzo0NDAyYmQ1MDI2M2Y0MjZhYTYwNjFiY2FiNDAxNTQ3Ni90YWJsZTo4M2ZiOTAwNmU1YzM0NWQ3YjhjY2JjNDE4MTY5M2IxZS90YWJsZXJhbmdlOjgzZmI5MDA2ZTVjMzQ1ZDdiOGNjYmM0MTgxNjkzYjFlXzUtMy0xLTEtMzkxNTc_887c0efe-df0f-4f4c-a5d5-e33771913db4"
      unitRef="usd">462953000</us-gaap:NoncurrentAssets>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90ZXh0cmVnaW9uOmJmZTFlZGNkMDAyMDQwODY4YWVlZTMyZDJjN2RhZjFjXzEwODc_b9150d9d-dc3c-4ea1-a633-6392e630d95d">Earnings Per Share &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We compute basic earnings per share by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common and potential common shares include the weighted average of additional shares associated with the incremental effect of dilutive employee stock options, non-vested restricted stock as determined using the treasury stock method and contingent shares associated with performance share awards, if dilutive. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The computation of basic and diluted earnings per share for the years ended October&#160;31, 2022, 2021 and 2020 follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,048&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,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;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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,205&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.66&#160;&lt;/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:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,193&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.72&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share &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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,980&#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="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,495&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.70&#160;&lt;/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:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.18&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,496&#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 colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,821&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not include equity instruments in our calculation of diluted earnings per share if those instruments would be antidilutive.  Such dilution is dependent on the excess of the market price of our stock over the exercise price and other components of the treasury stock method.  The following table shows anti-dilutive instruments for the three years ended October 31, 2022, 2021 and 2020 (shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,032&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,032&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90ZXh0cmVnaW9uOmJmZTFlZGNkMDAyMDQwODY4YWVlZTMyZDJjN2RhZjFjXzExMDE_9e3ea828-27e6-4170-9727-b7b7bdde96b2">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The computation of basic and diluted earnings per share for the years ended October&#160;31, 2022, 2021 and 2020 follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,048&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,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;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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,205&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.66&#160;&lt;/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:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,193&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.72&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share &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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,980&#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="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,495&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.70&#160;&lt;/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:10pt;font-weight:700;line-height:100%"&gt;Year Ended October 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.18&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,496&#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 colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,821&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEtMS0xLTEtMzkxNTc_ae94bcbf-19a4-4481-859e-05c9e2199f2e"
      unitRef="usd">88336000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEtMy0xLTEtMzkxNTc_1039a001-43e3-47b5-96af-9722d5bb52f0"
      unitRef="shares">33048000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEtNS0xLTEtMzkxNTc_046ccf25-a27d-4214-b6be-c9bd8203e506"
      unitRef="usdPerShare">2.67</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i592550d91f014c73a7ba5a9b3ff35ce3_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzMtMy0xLTEtMzkxNTc_ea5e0787-b597-4b4e-86e0-2fe2e38d2a62"
      unitRef="shares">25000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="iab5f960debe8496b88914c17f98c074e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzQtMy0xLTEtMzkxNTc_6847a1b0-d325-4e31-8a61-666b9a8e0c4c"
      unitRef="shares">100000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="iefbd330d4ba8487e8cb8ab0b35c2f590_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzUtMy0xLTEtMzkxNTc_d7222bcc-08f2-4913-ad29-e26a18299a9d"
      unitRef="shares">32000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzYtMS0xLTEtMzkxNTc_abd10679-90a8-4bb5-8f2a-62ceb24190bd"
      unitRef="usd">88336000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzYtMy0xLTEtMzkxNTc_fab98900-b52f-4e4d-bd81-9ca0d04f85b0"
      unitRef="shares">33205000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzYtNS0xLTEtMzkxNTc_723f772a-a050-4001-939e-20c2ded0dc64"
      unitRef="usdPerShare">2.66</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzgtMS0xLTEtMzkxNTc_775c10b8-b576-461c-96f0-b7845904d378"
      unitRef="usd">56980000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzgtMy0xLTEtMzkxNTc_eeddf911-727c-452d-b52f-a567bcc42934"
      unitRef="shares">33193000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzgtNS0xLTEtMzkxNTc_7db46e5a-38c0-4ce9-8448-1996ce27d28e"
      unitRef="usdPerShare">1.72</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i57c264984f6a40d1bff63c4e4e6330e4_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEwLTMtMS0xLTM5MTU3_d304bdf4-b7fb-4b67-84f4-65402175435c"
      unitRef="shares">82000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i815d6e272f7a41d18d0f7523fa5f8675_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzExLTMtMS0xLTM5MTU3_ff076274-f635-43c5-8175-3e44b77e78b7"
      unitRef="shares">132000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ib6d716f325964a13b436e35ab2845bc5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEyLTMtMS0xLTM5MTU3_692676b9-e329-4e61-a43a-2a73f4769021"
      unitRef="shares">88000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEzLTEtMS0xLTM5MTU3_c1ab8859-564a-49b2-987d-89dcec29b9ba"
      unitRef="usd">56980000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEzLTMtMS0xLTM5MTU3_2c0b888d-b059-4576-8883-f01d52fab7a9"
      unitRef="shares">33495000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzEzLTUtMS0xLTM5MTU3_245fac66-ab05-4296-bc7a-aace37a1987d"
      unitRef="usdPerShare">1.70</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzE1LTEtMS0xLTM5MTU3_c9a13218-e5ed-4e05-8470-532a775ac363"
      unitRef="usd">38496000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzE1LTMtMS0xLTM5MTU3_70d36672-4ef7-43d6-86e7-de5302898a04"
      unitRef="shares">32689000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzE1LTUtMS0xLTM5MTU3_bc36e537-5a1e-418c-904d-a9ec1a65314d"
      unitRef="usdPerShare">1.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i525311e6d3224993a804c82a2be1a612_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzE3LTMtMS0xLTM5MTU3_83fbc44b-1153-4e8e-8908-9eded74b3b8f"
      unitRef="shares">10000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i6f9750ed3b394d5db4284357e17f1e00_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzE4LTMtMS0xLTM5MTU3_7a85c37d-4215-4013-ae16-878e3ccbc7ab"
      unitRef="shares">90000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i4794492876e644c8bd2bf3d5d0a3624e_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzE5LTMtMS0xLTM5MTU3_6e9608f5-5e0f-4537-a4af-cfb3c9a08313"
      unitRef="shares">32000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzI2LTEtMS0xLTM5MTU3_f3285654-d41a-41d7-9194-4d509fc050d8"
      unitRef="usd">38496000</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzI2LTMtMS0xLTM5MTU3_647bdef1-b36d-4e33-891a-c553e12bbd4b"
      unitRef="shares">32821000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTpmZmM4YzM3YjdjMDM0ODFhOTMyZTllYjFjZGVjZjg2OC90YWJsZXJhbmdlOmZmYzhjMzdiN2MwMzQ4MWE5MzJlOWViMWNkZWNmODY4XzI2LTUtMS0xLTM5MTU3_f2b0b5f5-3383-4fc9-945c-c140f89ba81f"
      unitRef="usdPerShare">1.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90ZXh0cmVnaW9uOmJmZTFlZGNkMDAyMDQwODY4YWVlZTMyZDJjN2RhZjFjXzEwOTI_e3f3eb34-7e11-47d4-b354-da30d99abfd8">The following table shows anti-dilutive instruments for the three years ended October 31, 2022, 2021 and 2020 (shares in thousands):&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:60.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.599%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,032&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,032&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i592550d91f014c73a7ba5a9b3ff35ce3_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzItMS0xLTEtMzkxNTc_d923452b-743e-4641-8457-1625fe13a2bb"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i57c264984f6a40d1bff63c4e4e6330e4_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzItMy0xLTEtMzkxNTc_bfce45c3-6d27-4e6c-9121-8ecae845843f"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i525311e6d3224993a804c82a2be1a612_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzItNS0xLTEtMzkxNTc_6f1a6fab-df1a-415f-a95b-255e979e8cb0"
      unitRef="shares">1032000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iab5f960debe8496b88914c17f98c074e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzMtMS0xLTEtMzkxNTc_674a3583-5f45-4326-83f2-d3a09e178782"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i815d6e272f7a41d18d0f7523fa5f8675_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzMtMy0xLTEtMzkxNTc_264a8ef9-8c1a-4712-a6d3-894b90ffcdef"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6f9750ed3b394d5db4284357e17f1e00_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzMtNS0xLTEtMzkxNTc_86631910-e87e-43c8-a330-8d707e905b4d"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iefbd330d4ba8487e8cb8ab0b35c2f590_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzQtMS0xLTEtMzkxNTc_6ad58b4b-5aa2-4cd9-a096-b8f2638bb9ed"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ib6d716f325964a13b436e35ab2845bc5_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzQtMy0xLTEtMzkxNTc_f9b17c1d-5c6c-4ced-8f70-22f5e28b7f92"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4794492876e644c8bd2bf3d5d0a3624e_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzQtNS0xLTEtMzkxNTc_3bf22986-c8c0-4f85-b496-cff107fa7fef"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzUtMS0xLTEtMzkxNTc_311719e6-b7b8-4e6f-90b0-cffd413aed58"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i413817a1cfd043cd946dad12aed38e54_D20201101-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzUtMy0xLTEtMzkxNTc_15719b76-3047-4e77-bfc9-bae555e9012e"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3018633b8b10448a9fa108757193eead_D20191101-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDIvZnJhZzpiZmUxZWRjZDAwMjA0MDg2OGFlZWUzMmQyYzdkYWYxYy90YWJsZTphNTEyMjQ3NmRlOGE0OTFiYmJmZDU5OWQ1OWU2YTQ5My90YWJsZXJhbmdlOmE1MTIyNDc2ZGU4YTQ5MWJiYmZkNTk5ZDU5ZTZhNDkzXzUtNS0xLTEtMzkxNTc_27bc4359-b525-41c2-ba7f-ffade8335187"
      unitRef="shares">1032000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:QuarterlyFinancialInformationTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90ZXh0cmVnaW9uOjA5YTBmODljOTk5NjQyZmZhNTM5MTMzOTRlNDVmNTlkXzQwOA_e69cda26-faba-4293-a32b-4a378ffbb5e9">Unaudited Quarterly Data &lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Selected quarterly financial data for the years ended October&#160;31, 2022 and 2021 was as follows (amounts in thousands, except per share amounts):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;January 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;324,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307,532&#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:10pt;font-weight:400;line-height:100%"&gt;Cost of sales (excluding depreciation and amortization)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;211,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;249,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240,073&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,555&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Cash dividends paid per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/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-top:9pt"&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:47.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;January 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 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:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291,768&#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:10pt;font-weight:400;line-height:100%"&gt;Cost of sales (excluding depreciation and amortization)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;226,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,189&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,898&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash dividends paid per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Qu&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;arterly earnings per share results may not sum to the consolidated earnings per share results on the accompanying consolidated statements of income due to roun&lt;/span&gt;ding and changes in weighted average shares during the respective periods.</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90ZXh0cmVnaW9uOjA5YTBmODljOTk5NjQyZmZhNTM5MTMzOTRlNDVmNTlkXzQxMA_b03d4491-a63e-4c93-aebc-99c289fbc34f">&lt;div style="margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Selected quarterly financial data for the years ended October&#160;31, 2022 and 2021 was as follows (amounts in thousands, except per share amounts):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;January 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;324,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307,532&#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:10pt;font-weight:400;line-height:100%"&gt;Cost of sales (excluding depreciation and amortization)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;211,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;249,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240,073&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,555&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Cash dividends paid per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/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-top:9pt"&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:47.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;January 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 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:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;291,768&#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:10pt;font-weight:400;line-height:100%"&gt;Cost of sales (excluding depreciation and amortization)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;226,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,189&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,898&#160;&lt;/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:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash dividends paid per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.08&#160;&lt;/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;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:Revenues
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzEtMS0xLTEtMzkxNTc_5a081001-3dfb-4823-9672-6ee56700a31b"
      unitRef="usd">267040000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzEtMy0xLTEtMzkxNTc_9ba45891-980c-4b07-8ddf-e1cb396d3f00"
      unitRef="usd">322893000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzEtNS0xLTEtMzkxNTc_89567420-8421-4892-9fb5-b5f71cb147e3"
      unitRef="usd">324037000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzEtNy0xLTEtMzkxNTc_505cce33-5278-40f8-8b27-b8ef655a452e"
      unitRef="usd">307532000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzItMS0xLTEtMzkxNTc_f7028a8b-8956-49fd-b127-8565509f48ca"
      unitRef="usd">211834000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzItMy0xLTEtMzkxNTc_cccbc82b-5d98-4071-9cfe-0ce9b8ce2b07"
      unitRef="usd">249651000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzItNS0xLTEtMzkxNTc_7016eb1e-7dfc-4d02-8db7-61ab6bffd48a"
      unitRef="usd">251446000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzItNy0xLTEtMzkxNTc_024c1433-4952-48b8-aa4a-d22ba6770c3e"
      unitRef="usd">240073000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzMtMS0xLTEtMzkxNTc_e28f16b3-6088-4e14-ab76-65e762c76fdf"
      unitRef="usd">10257000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzMtMy0xLTEtMzkxNTc_701bf7ff-27fc-41e4-b4f8-4c98b7f9e8a7"
      unitRef="usd">10563000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzMtNS0xLTEtMzkxNTc_8814fbbd-298e-40c9-b2fe-850dc85ad60a"
      unitRef="usd">9734000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzMtNy0xLTEtMzkxNTc_012c4d14-7260-40fc-848b-d1754455f363"
      unitRef="usd">9555000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzQtMS0xLTEtMzkxNTc_8add166f-ab5f-475e-8c41-6ffa54b4d84e"
      unitRef="usd">14126000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzQtMy0xLTEtMzkxNTc_965478e8-cba2-43cf-9f6a-fbeac925779c"
      unitRef="usd">34550000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzQtNS0xLTEtMzkxNTc_5932de85-14e2-4364-9afa-75d62128a98a"
      unitRef="usd">34035000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzQtNy0xLTEtMzkxNTc_797a3d7b-0aba-406c-97ec-1ded79976ffc"
      unitRef="usd">28570000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ProfitLoss
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzUtMS0xLTEtMzkxNTc_1e482dc3-55f8-4609-b884-453a15c35765"
      unitRef="usd">11239000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzUtMy0xLTEtMzkxNTc_8ec466d1-1634-44f4-82ca-e2843f9087df"
      unitRef="usd">26522000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzUtNS0xLTEtMzkxNTc_d29a2c7a-b9ad-4a1f-9a48-e5cb902438f5"
      unitRef="usd">25908000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzUtNy0xLTEtMzkxNTc_0e416f6d-0772-4b8f-8589-a1207bf630d4"
      unitRef="usd">24667000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzYtMS0xLTEtMzkxNTc_86c1a65d-dcb9-4f4f-8f57-0d3b87a2d667"
      unitRef="usdPerShare">0.34</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzYtMy0xLTEtMzkxNTc_538339e9-8679-4577-9222-4c58774ac7e2"
      unitRef="usdPerShare">0.80</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzYtNS0xLTEtMzkxNTc_78c8b1c2-6812-4f1f-b28e-b898e02b1339"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzYtNy0xLTEtMzkxNTc_451dd907-486d-409b-924b-3c58757b07aa"
      unitRef="usdPerShare">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzctMS0xLTEtMzkxNTc_84461872-cc0b-44fc-86be-12d0812ab827"
      unitRef="usdPerShare">0.34</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzctMy0xLTEtMzkxNTc_c15e5e56-83f0-405c-8cb8-56cfa113bb27"
      unitRef="usdPerShare">0.80</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzctNS0xLTEtMzkxNTc_096fec96-a54c-4e1f-b3db-22a29afd5f25"
      unitRef="usdPerShare">0.78</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzctNy0xLTEtMzkxNTc_191e2d43-7958-4606-b19f-763e84f8a568"
      unitRef="usdPerShare">0.75</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i80ae7fa584004cc8bebf915e642ffcac_D20211101-20220131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzgtMS0xLTEtMzkxNTc_529dcb30-ebbc-4840-9850-c4e5dbf64780"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i71e0b9ebf5754929be21469c3c91570d_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzgtMy0xLTEtMzkxNTc_36ca121f-66cc-4462-8ea2-f539196789e1"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i299a5a93c383403aba5fb27c6c02de94_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzgtNS0xLTEtMzkxNTc_74c6786a-632d-4c0b-bf14-5e757c0e1b85"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ie00d6630a8854705ada1fd8a5fe10ed0_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZTozMzNmODQwNmU3ZjM0Yjk1OTdmZGUxNjYwZjk4ODg3Zi90YWJsZXJhbmdlOjMzM2Y4NDA2ZTdmMzRiOTU5N2ZkZTE2NjBmOTg4ODdmXzgtNy0xLTEtMzkxNTc_1a689a85-5237-4698-b14a-36cc1f26ce58"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:Revenues
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzEtMS0xLTEtMzkxNTc_3bd00e73-efdb-40d1-a3a4-c5f6f1faf0aa"
      unitRef="usd">230147000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzEtMy0xLTEtMzkxNTc_81f1c802-90d9-416b-a256-569c66b0e66b"
      unitRef="usd">270357000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzEtNS0xLTEtMzkxNTc_48c72757-7fb5-4083-a912-206c7a33a7f4"
      unitRef="usd">279877000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzEtNy0xLTEtMzkxNTc_474ad461-faa9-4149-aef3-daf2881fcffe"
      unitRef="usd">291768000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzItMS0xLTEtMzkxNTc_d073c59f-fc64-4cc0-8c4c-b42f0831e4bc"
      unitRef="usd">176397000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzItMy0xLTEtMzkxNTc_bf6053c7-2de6-4d57-8265-c441a60d0166"
      unitRef="usd">208460000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzItNS0xLTEtMzkxNTc_a7d18b4b-4d69-4006-9d73-99ca0adf04bb"
      unitRef="usd">219866000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzItNy0xLTEtMzkxNTc_3e112702-6c5d-4a53-a4f3-7d7f58688d7b"
      unitRef="usd">226818000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzMtMS0xLTEtMzkxNTc_d02a7ae0-652d-48bb-ac3e-402a7e962bb6"
      unitRef="usd">11015000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzMtMy0xLTEtMzkxNTc_4cddca1b-e945-4b3f-a118-1f7f2599a2b8"
      unitRef="usd">10845000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzMtNS0xLTEtMzkxNTc_9ac25e1d-4494-42a3-8a59-847cc71ebda2"
      unitRef="usd">10683000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzMtNy0xLTEtMzkxNTc_364fc330-913a-4da7-a355-1debcd4fb735"
      unitRef="usd">10189000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzQtMS0xLTEtMzkxNTc_9e351285-bb26-46d4-9b05-4cc46f54634e"
      unitRef="usd">11835000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzQtMy0xLTEtMzkxNTc_ab1229d1-f328-4984-b494-1c96a67100d0"
      unitRef="usd">21380000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzQtNS0xLTEtMzkxNTc_3e49c017-6f8c-4504-8758-7df81befb664"
      unitRef="usd">21562000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzQtNy0xLTEtMzkxNTc_a99fd05f-78b8-4de1-854b-73b56898eb55"
      unitRef="usd">27093000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ProfitLoss
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzUtMS0xLTEtMzkxNTc_574e1239-f142-41ab-a518-33ee976d51d7"
      unitRef="usd">7852000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzUtMy0xLTEtMzkxNTc_138b9629-785b-4deb-8adf-ab1bb7d13b06"
      unitRef="usd">14551000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzUtNS0xLTEtMzkxNTc_859712e9-e904-492d-a8eb-76b534b0766a"
      unitRef="usd">13679000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzUtNy0xLTEtMzkxNTc_e540d664-3078-4a71-a56d-50c6893ee807"
      unitRef="usd">20898000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzYtMS0xLTEtMzkxNTc_39c419eb-d1af-49b5-a187-73e28700b229"
      unitRef="usdPerShare">0.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzYtMy0xLTEtMzkxNTc_70071553-86ed-413d-b018-722ff2f51895"
      unitRef="usdPerShare">0.44</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzYtNS0xLTEtMzkxNTc_4719ab76-6317-40da-be20-da28584156eb"
      unitRef="usdPerShare">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzYtNy0xLTEtMzkxNTc_3c0cca59-8fb1-4c9a-8385-0fdbb5ace2d5"
      unitRef="usdPerShare">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzctMS0xLTEtMzkxNTc_366970f6-254d-4f69-b604-591d724f5974"
      unitRef="usdPerShare">0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzctMy0xLTEtMzkxNTc_da97233e-b869-4592-974a-650f3489640f"
      unitRef="usdPerShare">0.43</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzctNS0xLTEtMzkxNTc_43bc439f-5158-4522-be3f-2cef5badfc9f"
      unitRef="usdPerShare">0.41</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzctNy0xLTEtMzkxNTc_208be409-306d-42fd-925f-3f7c3ae82c35"
      unitRef="usdPerShare">0.62</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i297da364e4d14ba6a254d96a546d285d_D20201101-20210131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzgtMS0xLTEtMzkxNTc_7b59de11-e817-4bde-8040-645484d7f312"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i45a180e3394a44b0ab1cabbbec82cb04_D20210201-20210430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzgtMy0xLTEtMzkxNTc_83c4fd5f-0215-4aae-b387-4138c48be296"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i706841c037de4a4bad997b87f1fe0232_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzgtNS0xLTEtMzkxNTc_e109aac6-30e4-4ffd-8464-c9116d8d2ca8"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i66d325a294c94f47a1946a4ac60727bb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDUvZnJhZzowOWEwZjg5Yzk5OTY0MmZmYTUzOTEzMzk0ZTQ1ZjU5ZC90YWJsZToxZjZlYmM4M2FlYjI0ZjA0YTc1MmE3ODE4MzZiNmUxMS90YWJsZXJhbmdlOjFmNmViYzgzYWViMjRmMDRhNzUyYTc4MTgzNmI2ZTExXzgtNy0xLTEtMzkxNTc_3d10187e-fe5d-4798-9e4c-f7c60a185bf1"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <nx:DescriptionOfNewAccountingPronouncementsRecentlyAdoptedAndNotYetAdoptedTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xNDgvZnJhZzpjYjM4NjZlZTg1MmQ0MGUwYjFiNmNiYzQzZDg1NWQ5NS90ZXh0cmVnaW9uOmNiMzg2NmVlODUyZDQwZTBiMWI2Y2JjNDNkODU1ZDk1Xzc3Nw_c1078858-5983-4125-a99e-4d292b1263fc">New Accounting Guidance  From time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (FASB) or other standards setting bodies that we adopt as of the specified effective date. We did not adopt any new accounting pronouncements during the twelve months ended October&#160;31, 2022. As of October&#160;31, 2022, we believe the impact of any recently issued standards that are not yet effective are either not applicable to us at this time or will not have a material impact on our condensed consolidated financial statements upon adoption.</nx:DescriptionOfNewAccountingPronouncementsRecentlyAdoptedAndNotYetAdoptedTextBlock>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i0b6a277b75514d4c8a78a73fbb3c5c4e_D20211101-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xODA3L2ZyYWc6ZDQ3MDQ2ODYxNzU4NDU0NmI2ZjcwNTc3OTlkZDdkYzMvdGV4dHJlZ2lvbjpkNDcwNDY4NjE3NTg0NTQ2YjZmNzA1Nzc5OWRkN2RjM18xNjQ5MjY3NDQ1MjIx_0558249e-eac2-411d-b0aa-87656f627a17">&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Subsequent&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt; Events &lt;/span&gt;On November 1, 2022, we entered into an Asset Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with LMI Custom Mixing, LLC (&#x201c;LMI&#x201d;) and the equity owners of LMI, Lauren International, Ltd. and Meteor-US-Beteiligungs GMBH. Under the Purchase Agreement, we acquired substantially all of the operating assets comprising LMI&#x2019;s polymer mixing and rubber compound production business (collectively, the &#x201c;Purchased Assets&#x201d;) and also agreed to assume certain liabilities relating to the Purchased Assets (collectively, the &#x201c;Acquisition&#x201d;). As consideration for the Purchased Assets, we agreed to pay LMI $92&#160;million in cash, with $7.1&#160;million of this amount funded into escrow substantially as security for the seller parties&#x2019; indemnification obligations. To fund the amounts paid in connection with the Acquisition, we used a combination of cash on hand and funds borrowed under our Credit Facility. Subsequent to the acquisition, we had approximately $215&#160;million available for use under the Credit Facility. In connection with the Acquisition, we amended our existing lease with Lauren Real Estate Holding LLC for the purpose of adding an additional lease renewal option and increasing rental space by approximately 60,000 square feet of rental space which was added to the 313,595 square feet of rentable area located in Cambridge, Ohio. The initial accounting for this business combination is in process which includes conducting a valuation analysis to value the assets and liabilities assumed as a result of the Acquisition.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="ifbc9e95ded7e4054827a39eaabcc54ab_D20221101-20221101"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xODA3L2ZyYWc6ZDQ3MDQ2ODYxNzU4NDU0NmI2ZjcwNTc3OTlkZDdkYzMvdGV4dHJlZ2lvbjpkNDcwNDY4NjE3NTg0NTQ2YjZmNzA1Nzc5OWRkN2RjM181NDk3NTU4MTUzNTk_1b15a595-78f3-413c-8114-d9661eba50be"
      unitRef="usd">92000000</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:AssetAcquisitionIndemnificationAssetAmount
      contextRef="ib7553aeb759b44799addb1489ad0c45f_I20221101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xODA3L2ZyYWc6ZDQ3MDQ2ODYxNzU4NDU0NmI2ZjcwNTc3OTlkZDdkYzMvdGV4dHJlZ2lvbjpkNDcwNDY4NjE3NTg0NTQ2YjZmNzA1Nzc5OWRkN2RjM181NDk3NTU4MTUzMTQ_cfc59461-0a32-4a3d-b0f5-b8391c90b423"
      unitRef="usd">7100000</us-gaap:AssetAcquisitionIndemnificationAssetAmount>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i0279af9facc3457ea64801a1afae66de_I20221101"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xODA3L2ZyYWc6ZDQ3MDQ2ODYxNzU4NDU0NmI2ZjcwNTc3OTlkZDdkYzMvdGV4dHJlZ2lvbjpkNDcwNDY4NjE3NTg0NTQ2YjZmNzA1Nzc5OWRkN2RjM181NDk3NTU4MTUzMjg_f1b36291-b607-46ec-9e63-77178135fb47"
      unitRef="usd">215000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <nx:IncreaseInNetRentableArea
      contextRef="i079dfd269e1f4fe1ac86fabc3bd577e1_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xODA3L2ZyYWc6ZDQ3MDQ2ODYxNzU4NDU0NmI2ZjcwNTc3OTlkZDdkYzMvdGV4dHJlZ2lvbjpkNDcwNDY4NjE3NTg0NTQ2YjZmNzA1Nzc5OWRkN2RjM181NDk3NTU4MTUzNDI_a35137e3-76d1-4cae-ad6f-0124aa300aad"
      unitRef="sqft">60000</nx:IncreaseInNetRentableArea>
    <us-gaap:NetRentableArea
      contextRef="i079dfd269e1f4fe1ac86fabc3bd577e1_I20221101"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJiNTE2ODkzYWExNDQwNGI4MDM2OWQzMDkyZGI5N2RmL3NlYzoyYjUxNjg5M2FhMTQ0MDRiODAzNjlkMzA5MmRiOTdkZl8xODA3L2ZyYWc6ZDQ3MDQ2ODYxNzU4NDU0NmI2ZjcwNTc3OTlkZDdkYzMvdGV4dHJlZ2lvbjpkNDcwNDY4NjE3NTg0NTQ2YjZmNzA1Nzc5OWRkN2RjM181NDk3NTU4MTUzNTA_7a86f7b7-7766-4233-bf09-edd3ffc683d9"
      unitRef="sqft">313595</us-gaap:NetRentableArea>
</xbrl>
