You are given an array of non-overlapping intervals `intervals` where `intervals[i] = [startᵢ, endᵢ]` represent the start and the end of the `i`th interval and `intervals` is sorted in ascending order by `startᵢ`. You are also given an interval `newInterval = [start, end]`.
Insert `newInterval` into `intervals` such that `intervals` is still sorted in ascending order by `startᵢ` and `intervals` still does not have any overlapping intervals (merge overlapping intervals if necessary). Return `intervals` *after the insertion*.