Write a microwave timer! You are an employee of Microteque, a leading Silicon Valley startup creating smart microwave ovens for all kinds of strange places. Your customers can get their microwaves printed with patterns to match their kitchens, campers, man caves; even the kitchens of large nation-state facilities have shiny new branded microwave ovens.
Due to the cutting-edge nature of your microwave control board technology, you've ended up having to use the programming language MicrowaveX* and you're working out how to program the time counter. Your counter looks like this:

Your goal is to write a program that takes the input time and translates it into the number of seconds that the microwave needs to run.
As input, the function must take a string in the format ##:## (including the colon at position 3) and return an integer.
Please note that it should also be able to handle more than 60 seconds in the seconds slot.
Finally, due to some pesky regulations, you cannot have your microwave oven run for more than 100 minutes (6,000 seconds)
Sample inputs and outputs:
01:30 --&gt; 90 seconds
00:66 --&gt; 66 seconds
01:99 --&gt; 159 seconds
02:39 --&gt; 159 seconds
99:99 --&gt; 6,000 seconds (capped at 100 minutes due to aforementioned regulations)
*: MicrowaveX happens to be identical to your programming language of choice, but Microteque has rebranded it to sound more appealing to their investors.
Bash + GNU utilities, 33 bytes



dc&lt;&lt;&lt;[6000]sL${1/:/ 60*}+dlLx\&lt;Lp


Try it online!

Or try the test suite.

The input string is passed as an argument, and the output is on stdout.



How it works

First bash expands ${1/:/ 60*} by taking argument 1 and replacing the : with 60* (there's a space before the 60 that StackExchange isn't displaying here).  For example, if the input is 01:30, the expansion is 01 60*30.

Also, \&lt; gets used as the character &lt; without its special meaning in the shell.

So what happens is that dc is run with

[6000]sLminutes60*seconds+dlLx&lt;Lp

as its program (where "minutes" and "seconds" refer to the actual two-digit numbers).

This carries out the following operations:

[6000]               Definition of a macro which pushes 6000 on the stack.
sL                   Save the macro in register L.
minutes 60*seconds+  Compute minutes*60+seconds,
                        which is the total number of seconds.
d                    Duplicate the total number of seconds on the stack.
lLx                  Run macro L, which pushes 6000 on the stack.
                     The stack now looks like:
                        #seconds #seconds 6000
                        (top of stack on the right).
&lt;L                   Pop 6000 and #seconds from the stack;
                        if 6000 &lt; #seconds,
                          then run macro L to push 6000 on the stack again.
                     At this point, the item at the top of the stack is:
                        #seconds, if #seconds &lt;= 6000,
                        6000, if #seconds &gt; 6000.
p                    Print the top of the stack.