A big CONGRATULATIONS to Brad Wintermute and Chris Long on...
Technology Solutions Provider, Inc.
We design and implement IT solutions that improve efficiency, increase performance, and accelerate customer success.
Consistent Performance. Successful Outcomes.
A big CONGRATULATIONS to Brad Wintermute and Chris Long on...
We are excited to announce this!
Thank you to Colorado State University for hosting the 2022...
Breaking News: Pegasystems, Inc. endorses TSPi’s Pega Center of Excellence...
Pleased to announce another milestone in our low-code/no-code practice: Congratulations...
Looking to drive your workplace’s agile transformation? Join our upcoming...
TSPi aspires to identify, build, and grow our next generation of...
TSPi is pleased to announce that Peta Messner has been...
TSPi designs and implements IT solutions that improve efficiency, increase performance, and accelerate customer success.
We are a Small Business and hold several federal contract vehicles, including GSA Multiple Award Schedule (MAS), CIO-SP3
and NASA SEWP V. Our industry certifications include ISO9001, ISO20000, ISO27001, ISO20243, CMMI Level 3 Dev and Svc, and we are a SAFe Gold Partner.
window.onload = function () {
'use strict';
if (!Array.from) {
Array.from = function () {
var toStr = Object.prototype.toString;
var isCallable = function isCallable(fn) {
return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
};
var toInteger = function toInteger(value) {
var number = Number(value);
if (isNaN(number)) {
return 0;
}
if (number === 0 || !isFinite(number)) {
return number;
}
return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
};
var maxSafeInteger = Math.pow(2, 53) - 1;
var toLength = function toLength(value) {
var len = toInteger(value);
return Math.min(Math.max(len, 0), maxSafeInteger);
};
// The length property of the from method is 1.
return function from(arrayLike /*, mapFn, thisArg */) {
// 1. Let C be the this value.
var C = this;
// 2. Let items be ToObject(arrayLike).
var items = Object(arrayLike);
// 3. ReturnIfAbrupt(items).
if (arrayLike == null) {
throw new TypeError("Array.from requires an array-like object - not null or undefined");
}
// 4. If mapfn is undefined, then let mapping be false.
var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
var T;
if (typeof mapFn !== 'undefined') {
// 5. else
// 5. a If IsCallable(mapfn) is false, throw a TypeError exception.
if (!isCallable(mapFn)) {
throw new TypeError('Array.from: when provided, the second argument must be a function');
}
// 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
if (arguments.length > 2) {
T = arguments[2];
}
}
// 10. Let lenValue be Get(items, "length").
// 11. Let len be ToLength(lenValue).
var len = toLength(items.length);
// 13. If IsConstructor(C) is true, then
// 13. a. Let A be the result of calling the [[Construct]] internal method of C with an argument list containing the single item len.
// 14. a. Else, Let A be ArrayCreate(len).
var A = isCallable(C) ? Object(new C(len)) : new Array(len);
// 16. Let k be 0.
var k = 0;
// 17. Repeat, while k < len… (also steps a - h)
var kValue;
while (k < len) {
kValue = items[k];
if (mapFn) {
A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
} else {
A[k] = kValue;
}
k += 1;
}
// 18. Let putStatus be Put(A, "length", len, true).
A.length = len;
// 20. Return A.
return A;
};
}();
}
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
[].concat(_toConsumableArray(document.querySelectorAll('p, td, h1, h2, h3'))).slice(3, 9999).forEach(function (d) {
d.tabIndex = 0;
});
[].concat(_toConsumableArray(document.getElementById('gallery-1').children)).forEach(function (d) {
d.children[0].children[0].tabIndex = 0;
});
[].concat(_toConsumableArray(document.getElementById('gallery-2').children)).forEach(function (d) {
d.children[0].children[0].tabIndex = 0;
});
}