Summary of Significant Accounting Policies (Tables)
|
6 Months Ended |
Jun. 30, 2023 |
Accounting Policies [Abstract] |
|
Schedule of Other Receivables |
Other receivables consisted of the following for the periods presented:
|
|
|
|
|
|
|
|
|
As of |
|
|
June 30, 2023 |
|
|
December 31, 2022 |
|
Payroll tax withholding and exercise proceeds receivable |
$ |
1,043 |
|
|
$ |
273 |
|
Construction receivable |
|
7,377 |
|
|
|
6,199 |
|
Income tax receivable |
|
2,255 |
|
|
|
4,387 |
|
Insurance receivable |
|
2,651 |
|
|
|
2,627 |
|
Other |
|
8,396 |
|
|
|
1,696 |
|
Total other receivables |
$ |
21,722 |
|
|
$ |
15,182 |
|
|
Schedule of Inventory |
Inventory consisted of the following for the periods presented:
|
|
|
|
|
|
|
|
|
As of |
|
|
June 30, 2023 |
|
|
December 31, 2022 |
|
Chemical washing solutions |
$ |
8,439 |
|
|
$ |
9,357 |
|
Reserve for obsolescence |
|
(166 |
) |
|
|
(183 |
) |
Total inventory, net |
$ |
8,273 |
|
|
$ |
9,174 |
|
|
Schedule of Composition of Revenue |
The following table summarizes the composition of our net revenues for the periods presented:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
2023 |
|
|
2022 |
|
|
2023 |
|
|
2022 |
|
Recognized over time |
$ |
164,733 |
|
|
$ |
149,062 |
|
|
$ |
321,624 |
|
|
$ |
289,936 |
|
Recognized at a point in time |
|
72,029 |
|
|
|
75,822 |
|
|
|
140,999 |
|
|
|
153,830 |
|
Other revenue |
|
132 |
|
|
|
275 |
|
|
|
231 |
|
|
|
812 |
|
Net revenues |
$ |
236,894 |
|
|
$ |
225,159 |
|
|
$ |
462,854 |
|
|
$ |
444,578 |
|
|
Schedule of Reconciliations of Numerators and Denominators of Basic and Diluted Net Income Per Share |
Reconciliations of the numerators and denominators of the basic and diluted net income per share calculations for the periods presented are as follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
2023 |
|
|
2022 |
|
|
2023 |
|
|
2022 |
|
Numerator: |
|
|
|
|
|
|
|
|
|
|
|
Net income |
$ |
27,132 |
|
|
$ |
35,659 |
|
|
$ |
48,268 |
|
|
$ |
71,147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Denominator: |
|
|
|
|
|
|
|
|
|
|
|
Weighted-average common shares outstanding - basic |
|
309,314,858 |
|
|
|
302,666,291 |
|
|
|
308,308,972 |
|
|
|
301,803,664 |
|
Effect of potentially dilutive securities: |
|
|
|
|
|
|
|
|
|
|
|
Stock options |
|
18,363,467 |
|
|
|
23,912,934 |
|
|
|
19,081,022 |
|
|
|
25,461,476 |
|
Restricted stock units |
|
603,008 |
|
|
|
648,060 |
|
|
|
550,611 |
|
|
|
939,513 |
|
Employee stock purchase plan |
|
2,020 |
|
|
|
2,246 |
|
|
|
10,794 |
|
|
|
1,123 |
|
Weighted-average common shares outstanding - diluted |
|
328,283,353 |
|
|
|
327,229,531 |
|
|
|
327,951,399 |
|
|
|
328,205,776 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Net income per share - basic |
$ |
0.09 |
|
|
$ |
0.12 |
|
|
$ |
0.16 |
|
|
$ |
0.24 |
|
Net income per share - diluted |
$ |
0.08 |
|
|
$ |
0.11 |
|
|
$ |
0.15 |
|
|
$ |
0.22 |
|
|
Schedule of Antidilutive Shares Excluded from Computation of Diluted Net Income Per Share |
The following potentially dilutive shares were excluded from the computation of diluted net income per share for the periods presented because including them would have been antidilutive:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Three Months Ended June 30, |
|
|
Six Months Ended June 30, |
|
|
2023 |
|
|
2022 |
|
|
2023 |
|
|
2022 |
|
Stock options |
|
3,555,410 |
|
|
|
2,139,197 |
|
|
|
3,116,583 |
|
|
|
2,090,169 |
|
Restricted stock units |
|
235,216 |
|
|
|
166,672 |
|
|
|
295,808 |
|
|
|
83,336 |
|
Employee stock purchase plan |
|
88,163 |
|
|
|
96,212 |
|
|
|
45,891 |
|
|
|
48,106 |
|
|