# [Jelly], 122 bytes
L“| |”ẋṫ9“/ \“\ /”jµ“< >”Ḋ?⁶ẋ8¤s4¤js2s2
z⁶⁾_-jⱮZj@"Ç;“¡{+Ṁ“#ßɗ⁾ŀ`m“¬ṖȥƇʂẆEẒẓ“¡ɲÇ⁹E⁸ċ⁷“¡ɲÇ⁹D⁹{Ṅ’ṃ“\ ^_(o)/|-w”¤⁶ẋ8¤;Ɱ$¤
[Try it online!][TIO-koiyzsnl]
[Jelly]: https://github.com/DennisMitchell/jelly
[TIO-koiyzsnl]: https://tio.run/##y0rNyan8/9/nUcOcGgWFmkcNcx/u6n64c7UlUEBfQSEGSMUoKOgDxbMObQVybBQU7ECKdnTZP2rcBlRrcWhJscmhJVnFRsVGXFVAsUeN@@J1sx5tXBeV5aB0uN0aqOnQwmrthzsbgCzlw/NPTgeqONqQkAuSWPNw57QTS4@1n2p6uKvN9eGuSQ93TQZrOLnpcPujxp2ujxp3HOl@1LgdWdAFiKsf7mx51DDz4c5msAvj4jXyNfVrdMuBbju0BO4ya6AzVA4t@f9w95bD7ZHHuh41rckC2n5o26Ft//9HcykpKYVUFmQmJ@YoJOeXFydWKuSXlhSUligCJXTAsuX5XD6ZeanFQDZXLAA "Jelly – Try It Online"
-26 bytes using base + integer compression (thanks to Bubbler for the idea)
-2 bytes thanks to caird coinheringaahing
-1 byte thanks to Nick Kennedy
## Explanation
L“| |”ẋṫ9“/ \“\ /”jµ“< >”Ḋ?⁶ẋ8¤s4¤js2s2 Helper Link - generates the side borders
? If
Ḋ list[1:] (basically, if the length is not 1)
L“| |”ẋṫ9“/ \“\ /”jµ Sublink; generate the side borders for the non-edge case
L Take the length
“| |”ẋ Repeat "| |" that many times
ṫ9 Tail; remove the first 8 elements
“/ \“\ /”j Use that result to join ["/ \", "\ /"]
“< >” Otherwise, return "< >"
⁶ẋ8¤ " " * 8
s4¤ split into slices of size 4
j Prepend and append (Extra spaces are needed because the top and bottom borders don't have side borders)
s2 Slices of length 2 (separate the left and right border components)
s2 Slices of length 2 (group the left and right border components into pairs)
z⁶⁾_-jⱮZj@"Ç;“...’ṃ“ \_(o)/|-w^”¤⁶ẋ7¤;Ɱ$¤ Main Link
z⁶ Zip, using space as filler
Ɱ For each column
⁾_-j Join ["_", "-"] using it (prepend _ and append -)
Z Zip
j@"Ç Vectorized swapped join with the helper link (basically, for each row, prepend and append the borders)
; Append: {{
“...’ [23386201, 8811166311836860, 134563374682941922730, 101089407352370886, 101089407336781202]
ṃ“ \_(o)/|-w^” Base decompressed with " \_(o)/|-w^" - this is the cow without leading spaces
Ɱ For each row
⁶ẋ7¤; Append " " * 7
}}