Typos corrected. Thanks Afmob and Ed; also for pointing out the CCCs.
Prelims
a) R1C12 = {19/28/37/46}, no 5
b) R1C89 = {18/27/36/45}, no 9
c) R45C5 = {14/23}
d) R67C6 = {79}
e) 10(2) cage at R7C4 = {19/28/37/46}, no 5
f) 11(2) cage at R7C6 = {29/38/47/56}, no 1
g) 20(3) cage at R3C4 = {389/479/569/578}, no 1,2
h) 11(3) cage at R5C3 = {128/137/146/236/245}, no 9
1. Naked pair {79} in R67C5, locked for C5
2. 45 rule on N2 2 innies R3C46 = 11 = {38/47/56}/[92], no 1,9 in R3C6
3. 45 rule on N7 2 innies R78C3 = 15 = {69/78}, clean-up: no 6,7,8,9 in R7C4
4. 45 rule on N9 2 innies R78C7 = 7 = [16]/{25/34}, no 7,8,9, no 6 in R7C7, clean-up: no 2,3,4 in R7C6
5. 45 rule on R1 2 innies R1C37 = 11 = {29/38/47/56}, no 1
6. 45 rule on N4 2 innies R45C3 = 1 outie R7C3 + 1, IOU no 1 in R5C3
6a. Max R45C3 = 10, min R5C3 = 2 -> max R4C3 = 8
7. 45 rule on N6 2 innies R45C7 = 1 outie R7C7 + 6, IOU no 6 in R45C7
8. 45 rule on R9 2 outies R8C19 = 5 = {14/23}
9. 45 rule on R89 4 innies R8C2378 = 27 = {3789/4689/5679}, no 1,2, 9 locked for R8, clean-up: no 9 in R7C6, no 5 in R7C7 (step 4)
9a. 3 of {3789} must be in R8C7 -> no 3 in R8C28
10. 45 rule on R789 3 innies R7C357 = 18 = {189/279/369/378} (cannot be {468} because R7C5 only contains 7,9), no 4, clean-up: no 3 in R8C7 (step 4), no 8 in R7C6
10a. R8C2378 (step 9) = {4689/5679}, 6 locked for R8
10b. R45C7 = R7C7 + 6 (step 7), max R7C7 = 3 -> max R45C7 = 9, no 9 in R45C7
11. R78C7 = 7 (step 4), 11(2) cage at R7C6 -> R7C6 = R7C7 + 4
11a. R7C357 (step 10) = {189/279/369} (cannot be {378} which clashes with R7C67 = [73], CCC), 9 locked for R7
11b. R78C3 = 15 (step 3), 10(2) cage at R7C4 -> R7C3 = R7C4 + 5
11c. 7 of {279} must be in R7C5 (cannot be [792] which clashes with R7C34 = [72], CCC), no 7 in R7C3, clean-up: no 8 in R8C3 (step 4), no 2 in R7C4
12. 11(3) cage at R5C3 = {128/137/146/236/245}
12a. 5,7,8 of {128} must be in R56C4 (R56C4 cannot be {12/13/24} which clash with R45C5) -> no 5,7,8 in R5C3
13. 45 rule on N8 3 innies R7C456 = 17 = {179/359/467}
13a. 13(3) cage at R8C4 = {148/238} (cannot be {157} which clashes with R7C456, cannot be {247} which clashes with R8C19), no 5,7, 8 locked for R8 and N8
13b. R8C2378 (step 10a) = {5679} (only remaining combination), no 4, clean-up: no 7 in R7C6, no 3 in R7C7 (step 4)
13c. R7C456 = {359/467} (cannot be {179} because R7C6 only contains 5,6), no 1, clean-up: no 9 in R8C3, no 6 in R7C3 (step 3)
13d. Killer pair 3,4 in R7C4 and 13(3) cage, locked for N8
13e. Naked pair {56} in 11(2) cage at R7C6, CPE no 5,6 in R7C89
13f. R45C7 = R7C7 + 6 (step 7), max R7C7 = 2 -> max R45C7 = 8, no 8 in R45C7
14. R78C3 (step 3) = [87/96]
14a. R45C3 = R7C3 + 1 (step 6)
14b. R7C3 = {89} -> R45C3 = 9,10 = [36/54/63/73/82] (cannot be [72] which clashes with R78C3 = [87], cannot be {46} which clashes with R78C3 = [96]), no 4 in R4C3
15. R78C7 (step 4) = [16/25]
15a. R45C7 = R7C7 + 6 (step 7)
15b. R7C7 = {12} -> R45C7 = 7,8 = {25/34/17} (cannot be {35} which clashes with R78C7 = [25]) -> R457C7 = {25}1/{34}1/{17}2, 1 locked for C7
15c. R457C7 = {25}1/{34}1/{17}2, CPE no 1 in R56C8
16. 45 rule on N8 3(1+2) outies R6C5 + R8C37 = 20
16a. R6C5 = {79} -> R8C37 = 11,13 = [65/76], 6 locked for R8
17. Hidden killer pair 5,6 in 15(3) cage at R7C1 and R7C6 for R7, R7C6 = {56} -> 15(3) cage must contain one of 5,6 in R7 -> 15(3) cage = {159/357/456} (cannot be {249/348} which don’t contain 5 or 6, cannot be {168/258} because R8C2 only contains 5,7,9 and 5 of {258} must be in R7, cannot be {267} which clashes with R8C3), no 2,8 in R7C12, 5 locked for N7
17a. 7 of {357} must be in R8C2 (cannot be {37}5 because R7C12 must contain 5 or 6) -> no 7 in R7C12
17b. R7C357 (step 11a) = {189/279}
17c. 15(3) cage = {357/456} (cannot be {159} which clashes with R7C357 = {279} = [972]), no 1,9
17d. Killer pair 3,4 in 15(3) cage and R7C4, locked for R7
17e. Killer pair 6,7 in 15(3) cage and R8C3, locked for N7
18. R8C8 = 9 (hidden single in R8)
18a. 1,2 in R7 only in R7C789, locked for N9, clean-up: no 3,4 in R8C1 (step 8)
19. R78C7 (step 15) = [16/25], R457C7 (step 15b) = {25}1/{34}1/{17}2 -> R4578C7 = {25}[16]/{34}[16]/{17}[25]
19a. 17(3) cage at R1C7 = {278/368} (cannot be {269/359/458/467} which clash with R4578C7), no 4,5,9, 8 locked for C7 and N3, clean-up: no 1 in R1C89
20. R6C7 = 9 (hidden single in C7), R67C5 = [79], R7C3 = 8, R8C3 = 7 (step 3) -> R7C4 = 3, R8C2 = 5, R8C7 = 6 -> R7C6 = 5, R7C7 = 1 (step 4), clean-up: no 6 in R3C4, no 8 in R3C6 (both step 2)
20a. 17(3) cage at R1C7 (step 19a) = {278} (only remaining combination), locked for C7 and N3
20b. R45C7 = R7C7 + 6 (step 7), R7C7 = 1 -> R45C7 = 7 = {34}, locked for C7 and N6 -> R9C7 = 5
20c. Naked pair {46} in R7C12, locked for N7
20d. Naked pair {27} in R7C89, locked for N9
21. 4,8 in N8 only in 13(3) cage at R8C4 = {148}, locked for R8 and N8 -> R8C1 = 2, R8C9 = 3, clean-up: no 8 in R1C2, no 6 in R1C8
22. R67C7 = [91] = 10 -> R56C8 = 10 = {28}, locked for C8 and N6 -> R7C89 = [72], R9C89 = [48], clean-up: no 5 in R1C9
23. 5 in C5 only in R123C5, locked for N2, clean-up: no 6 in R3C6 (step 2)
24. Max R3C6 + R4C7 = 11 -> min R4C6 = 3
24a. 14(3) cage at R3C6 = {239/248/347}, no 6
24b. 2,7 only in R3C6 -> R3C6 = {27}, clean-up: no 7,8 in R3C4 (step 2)
25. R45C3 = R7C3 + 1 (step 6)
25a. R7C3 = 8 -> R45C3 = 9 = [36/54/63], no 2
26. Grouped double X-Wing for 3,4 in R45C3, R45C5 and R45C7, no other 3,4 in R45
27. 14(3) cage at R3C6 = {239/248} (cannot be {347} because 3,4 only in R4C7) -> R3C6 = 2, R3C4 = 9 (step 2)
27a. R2C9 = 9 (hidden single in N3)
28. 11(3) cage at R5C3 = {146/236/245} (cannot be {128} because R5C3 only contains 3,4,6), no 8
28a. Killer pair 1,2 in R45C5 and 11(3) cage, locked for N5
29. Min R5C7 + R6C6 = 7 -> max R5C6 = 8
29a. R4C6 = 9 (hidden single in N5), R3C6 = 2 -> R4C7 = 3 (cage sum)
29b. R5C7 = 4 -> R56C6 = 11 = [83], R56C8 = [28]
29c. R5C3 = 3 (hidden single in R5) -> R56C4 = 8 = [62], R4C34 = [65], R4C89 = [17]
29d. R4C12 = [82] = 10 -> R56C1 = 11 = [74]
30. 2 in C3 only in 15(3) cage at R1C3 = {249} (only possible combination) -> R1C3 = 9, R3C3 = 4, R2C3 = 2
30a. R1C12 = {37} (only remaining combination) -> R1C1 = 3, R1C2 = 7
and the rest is naked singles.