!function(n){"use strict";function t(n){y(!0,i(n))}function i(n){return{count:0,action:r(n.action),predicate:r(n.predicate),fail:r(n.fail),pass:r(n.pass),interval:c(n.interval,-1e3),limit:c(n.limit,-1),context:a(n.context),args:s(n.args)}}function r(n){return u(n,e,o)}function e(n){return"function"==typeof n}function o(){}function u(n,t,i){return t(n)?n:i}function c(n,t){return u(n,f,t)}function f(n){return"number"==typeof n&&n===n}function a(n){return u(n,l,{})}function l(n){return"object"==typeof n&&null!==n&&p(n)===!1}function p(n){return Array.isArray?Array.isArray(n):"[object Array]"===Object.prototype.toString.call(n)}function s(n){return u(n,p,[])}function y(n,t){function i(){return n||A(t),d(t)?(m(t),v(t)?g(t):(x(),b(i,t))):(n&&A(t),void 0)}i()}function d(n){return!n.predicate.apply(n.context,n.args)}function m(n){n.count+=1}function v(n){return n.limit>=0&&n.count>=n.limit}function g(n){n.fail.apply(n.context,n.args)}function x(n){n.interval<0&&(n.interval*=2)}function b(n,t){setTimeout(n,Math.abs(t.interval))}function A(n){n.action.apply(n.context,n.args)}function h(n){y(!1,i(n))}function j(){"function"==typeof define&&define.amd?define(function(){return w}):"undefined"!=typeof module&&null!==module?module.exports=w:n.trier=w}var w={when:t,until:h};j()}(this);
!function(n){"use strict";function t(n){function t(){i("when")&&(A(n),i("until"))}function i(r){return d(n,r)?(v(n),g(n)?x(n):h(t,b(n)),!1):!0}n=r(n),t()}function r(n){return{count:0,when:i(n.when),until:i(n.until),action:o(n.action),fail:o(n.fail),interval:a(n.interval,-1e3),limit:a(n.limit,-1),context:p(n.context),args:m(n.args)}}function i(n){return f(n,u,e)}function u(n){return"function"==typeof n}function e(){return!0}function o(n){return f(n,u,c)}function c(){}function f(n,t,r){return t(n)?n:r}function a(n,t){return f(n,l,t)}function l(n){return"number"==typeof n&&n===n}function p(n){return f(n,y,{})}function y(n){return"object"==typeof n&&null!==n&&s(n)===!1}function s(n){return Array.isArray?Array.isArray(n):"[object Array]"===Object.prototype.toString.call(n)}function m(n){return f(n,s,[])}function d(n,t){return!n[t].apply(n.context,n.args)}function v(n){n.count+=1}function g(n){return n.limit>=0&&n.count>=n.limit}function x(n){n.fail.apply(n.context,n.args)}function b(n){var t=n.interval;return n.interval<0&&(n.interval*=2),t}function h(n,t){setTimeout(n,Math.abs(t))}function A(n){n.action.apply(n.context,n.args)}function j(){"function"==typeof define&&define.amd?define(function(){return w}):"undefined"!=typeof module&&null!==module?module.exports=w:n.trier=w}var w={attempt:t};j()}(this);
Add minified script.