Date | 3/31/2024 | 9/30/2023 | 6/30/2023 | 3/31/2023 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 9/30/2021 | 6/30/2021 | 3/31/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 9/30/2015 | 6/30/2015 | 3/31/2015 | 12/31/2014 | 9/30/2014 | 6/30/2014 | 3/31/2014 | 12/31/2013 | 9/30/2013 | 6/30/2013 | 3/31/2013 | 12/31/2012 | 9/30/2012 | 6/30/2012 | 3/31/2012 | 12/31/2011 | 9/30/2011 | 6/30/2011 | 3/31/2011 | 12/31/2010 | 12/31/2009 | 12/31/2008 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash and Cash Equivalents | $38,392,359.00 | $26,389,394.00 | $32,621,720.00 | $19,808,351.00 | $36,283,346.00 | $63,713,161.00 | $105,259,793.00 | $107,324,197.00 | $144,238,551.00 | $185,990,371.00 | $181,574,615.00 | $187,052,113.00 | $235,642,464.00 | $35,029,959.00 | $45,166,882.00 | $42,358,238.00 | $46,866,995.00 | $53,096,379.00 | $42,728,472.00 | $66,274,454.00 | $79,031,716.00 | $73,873,484.00 | $83,241,625.00 | $89,534,920.00 | $98,798,423.00 | $99,926,087.00 | $117,373,323.00 | $112,343,004.00 | $103,845,732.00 | $98,622,206.00 | $61,380,282.00 | $62,656,498.00 | $73,520,846.00 | $66,299,966.00 | $33,464,533.00 | $47,506,972.00 | $53,303,006.00 | $51,746,053.00 | $59,384,208.00 | $73,975,422.00 | $65,813,839.00 | $91,933,163.00 | $86,708,443.00 | $103,067,786.00 | $94,385,491.00 | $136,449,005.00 | $123,736,412.00 | $159,401,865.00 | $187,671,322.00 | $252,256,534.00 | $152,952,590.00 | $141,666,539.00 | $4,012,323.00 |
Accounts Receivable Net Current | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Inventory | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Prepaid Expenses and Other Current Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Current Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Property Plant and Equipement | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Intangible Assets Net | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Goodwill | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Other Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Assets | $64,136,886.00 | $77,367,884.00 | $73,755,845.00 | $83,008,861.00 | $97,724,481.00 | $143,253,503.00 | $169,659,351.00 | $171,120,227.00 | $226,231,282.00 | $231,276,727.00 | $219,497,639.00 | $224,326,728.00 | $313,411,370.00 | $53,592,684.00 | $55,230,277.00 | $51,538,460.00 | $54,610,563.00 | $62,045,310.00 | $50,958,591.00 | $85,658,946.00 | $100,569,148.00 | $91,810,114.00 | $99,322,114.00 | $109,095,456.00 | $114,257,393.00 | $108,451,901.00 | $141,659,167.00 | $130,379,668.00 | $125,186,796.00 | $111,332,837.00 | $70,729,815.00 | $70,728,873.00 | $80,694,583.00 | $72,053,646.00 | $37,484,692.00 | $48,305,757.00 | $59,185,131.00 | $57,590,167.00 | $64,577,840.00 | $78,027,624.00 | $72,365,739.00 | $102,860,232.00 | $99,884,893.00 | $115,490,718.00 | $112,043,942.00 | $172,180,266.00 | $170,004,451.00 | -- | -- | -- | $180,723,364.00 | -- | -- |
Accounts Payable | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accrued Liabilities | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Current Liabilities | $146,603.00 | $1,262,624.00 | $191,765.00 | $266,604.00 | $377,336.00 | $7,039,886.00 | $27,228,901.00 | $23,410,361.00 | $38,027,191.00 | $32,861,432.00 | $23,043,098.00 | $11,978,034.00 | $38,531,388.00 | $91,950.00 | $153,238.00 | $124,387.00 | $104,165.00 | $114,325.00 | $159,961.00 | $2,878,339.00 | $14,325,678.00 | $9,128,822.00 | $7,768,212.00 | $1,968,927.00 | $111,423.00 | $118,769.00 | $15,271,359.00 | $7,541,245.00 | $4,338,634.00 | $146,401.00 | $196,218.00 | $187,680.00 | $178,284.00 | $173,548.00 | $251,767.00 | $240,297.00 | $223,953.00 | $260,976.00 | $2,473,474.00 | $290,768.00 | $244,627.00 | $281,787.00 | $363,111.00 | $355,394.00 | $2,137,460.00 | $398,576.00 | $514,571.00 | -- | -- | -- | $520,102.00 | -- | -- |
Long Term Debt | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Additional Paid-in Capital | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Other Comprehensive Loss | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Deficit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Stockholders' Equity | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Controlling Interest in Subsidiaries | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Liabilities and Equity | $64,136,886.00 | $77,367,884.00 | $73,755,845.00 | $83,008,861.00 | $97,724,481.00 | $143,253,503.00 | $169,659,351.00 | $171,120,227.00 | $226,231,282.00 | $231,276,727.00 | $219,497,639.00 | $224,326,728.00 | $313,411,370.00 | $53,592,684.00 | $55,230,277.00 | $51,538,460.00 | $54,610,563.00 | $62,045,310.00 | $50,958,591.00 | $85,658,946.00 | $100,569,148.00 | $91,810,114.00 | $99,322,114.00 | $109,095,456.00 | $114,257,393.00 | $108,451,901.00 | $141,659,167.00 | $130,379,668.00 | $125,186,796.00 | $111,332,837.00 | $70,729,815.00 | $70,728,873.00 | $80,694,583.00 | $72,053,646.00 | $37,484,692.00 | $48,305,757.00 | $59,185,131.00 | $57,590,167.00 | $64,577,840.00 | $78,027,624.00 | $72,365,739.00 | $102,860,232.00 | $99,884,893.00 | $115,490,718.00 | $112,043,942.00 | $172,180,266.00 | $170,004,451.00 | -- | -- | -- | $180,723,364.00 | -- | -- |
Date | 3/31/2024 | 9/30/2023 | 6/30/2023 | 3/31/2023 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 9/30/2021 | 6/30/2021 | 3/31/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 9/30/2015 | 6/30/2015 | 3/31/2015 | 12/31/2014 | 9/30/2014 | 6/30/2014 | 3/31/2014 | 12/31/2013 | 9/30/2013 | 6/30/2013 | 3/31/2013 | 12/31/2012 | 9/30/2012 | 6/30/2012 | 3/31/2012 | 12/31/2011 | 9/30/2011 | 6/30/2011 | 3/31/2011 | 12/31/2010 | 12/31/2009 | 12/31/2008 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Total Revenues | $8,420,471.00 | $10,234,540.00 | $-1,873,280.00 | $-3,542,484.00 | $30,636,646.00 | $9,439,439.00 | $42,651,559.00 | $90,408,383.00 | $82,928,211.00 | $41,886,372.00 | $110,303,683.00 | $83,889,822.00 | $73,773,149.00 | $-25,014,567.00 | $7,084,009.00 | $-4,048,873.00 | $-1,607,177.00 | $13,503,903.00 | $-26,637,430.00 | $5,406,682.00 | $9,735,886.00 | $6,636,435.00 | $13,164,906.00 | $10,047,404.00 | $-20,560,640.00 | $-10,890,297.00 | $11,414,019.00 | $18,765,219.00 | $19,948,048.00 | $1,522,157.00 | $-12,030,910.00 | $-19,144,755.00 | $3,796,225.00 | $-5,092,160.00 | $-17,575,229.00 | $-742,104.00 | $5,682,440.00 | $1,636,925.00 | $6,420,981.00 | $7,099,437.00 | $1,206,553.00 | $3,488,007.00 | $-9,348,400.00 | -- | -- | $9,471,904.00 | $4,424,226.00 | -- | -- | $30,855,365.00 | $12,303,709.00 | $72,967,764.00 | -- |
Cost of Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Gross Profit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Research and Development | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Selling, General, and Administrative | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Operating Expenses | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | $1,584,339.00 | $554,171.00 | $511,025.00 | $105,391.00 | $116,369.00 | $114,129.00 | $132,975.00 | $134,064.00 | $649,600.00 | $163,681.00 | $344,676.00 | $172,379.00 | $233,160.00 | $696,555.00 | $225,381.00 | $256,646.00 | $805,873.00 | $583,308.00 | $208,254.00 | $168,348.00 | $575,506.00 | $141,411.00 | $174,595.00 | $125,096.00 | $94,542.00 | $115,775.00 | $132,839.00 | $145,584.00 | $170,197.00 | $672,540.00 | $467,512.00 | $247,095.00 | $1,050,378.00 | $248,705.00 | $265,297.00 | $315,716.00 | $1,637,724.00 | $358,512.00 | $961,035.00 | $462,485.00 | $1,299,784.00 | -- | -- |
Loss from Operations | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Loss Before Income Taxes | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Weighted Average Shares Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Diluted | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Weighted Average Shares Diluted | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Payments Of Dividends Common Stock | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Share Price | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |