// Copyright (c) 2017 Augie R. Maddox, Guavaman Enterprises. All rights reserved. mergeInto(LibraryManager.library,{Rewired_Initialize:function(){if(window.guavamanEnterprisesRewired!==undefined)return;var e={IsGamepadAPIAvailable:function(){var e=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;return e!==undefined},GetGamepads:function(){var e=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;return e!==undefined?e.apply(navigator):[]},GetCurrentGamepadCount:function(){var e=this.GetGamepads();if(e===null)return 0;var t=0;for(var n=0;n=55296&&r<=57343&&(r=65536+((r&1023)<<10)|e.charCodeAt(++n)&1023),r<=127?++t:r<=2047?t+=2:r<=65535?t+=3:r<=2097151?t+=4:r<=67108863?t+=5:t+=6}return t},stringToUTF8Array:function(e,t,n,r){if(r>0){var i=n,s=n+r-1;for(var o=0;o=55296&&u<=57343&&(u=65536+((u&1023)<<10)|e.charCodeAt(++o)&1023);if(u<=127){if(n>=s)break;t[n++]=u}else if(u<=2047){if(n+1>=s)break;t[n++]=192|u>>6,t[n++]=128|u&63}else if(u<=65535){if(n+2>=s)break;t[n++]=224|u>>12,t[n++]=128|u>>6&63,t[n++]=128|u&63}else if(u<=2097151){if(n+3>=s)break;t[n++]=240|u>>18,t[n++]=128|u>>12&63,t[n++]=128|u>>6&63,t[n++]=128|u&63}else if(u<=67108863){if(n+4>=s)break;t[n++]=248|u>>24,t[n++]=128|u>>18&63,t[n++]=128|u>>12&63,t[n++]=128|u>>6&63,t[n++]=128|u&63}else{if(n+5>=s)break;t[n++]=252|u>>30,t[n++]=128|u>>24&63,t[n++]=128|u>>18&63,t[n++]=128|u>>12&63,t[n++]=128|u>>6&63,t[n++]=128|u&63}}return t[n]=0,n-i}return 0},stringToUTF8:function(e,t,n){return this.stringToUTF8Array(e,HEAPU8,t,n)}};window.guavamanEnterprisesRewired=e},Rewired_GetClientInfo:function(){if(window.guavamanEnterprisesRewired===undefined)return null;var e=JSON.stringify(window.guavamanEnterprisesRewired.GetClientInfo()),t=window.guavamanEnterprisesRewired.lengthBytesUTF8(e)+1,n=_malloc(t);return window.guavamanEnterprisesRewired.stringToUTF8(e,n,t),n},Rewired_IsGamepadAPIAvailable:function(){return window.guavamanEnterprisesRewired===undefined?!1:window.guavamanEnterprisesRewired.IsGamepadAPIAvailable()},Rewired_GetGamepadCount:function(){return window.guavamanEnterprisesRewired===undefined?0:window.guavamanEnterprisesRewired.GetCurrentGamepadCount()},Rewired_GetMaxGamepadId:function(){if(window.guavamanEnterprisesRewired===undefined)return-1;var e=window.guavamanEnterprisesRewired.GetGamepads();if(e===null)return-1;var t=-1;for(var n=0;nt&&(t=e[n].index);return t},Rewired_GetGamepadName:function(e){if(window.guavamanEnterprisesRewired===undefined)return null;var t=guavamanEnterprisesRewired.GetGamepad(e);if(t===null)return null;var n=t.id;if(n===null)return null;var r=window.guavamanEnterprisesRewired.lengthBytesUTF8(n)+1,i=_malloc(r);return window.guavamanEnterprisesRewired.stringToUTF8(n,i,r),i},Rewired_GetGamepadNameHash:function(e){if(window.guavamanEnterprisesRewired===undefined)return 0;var t=guavamanEnterprisesRewired.GetGamepad(e);return t===null?0:window.guavamanEnterprisesRewired.GetHashForString(t.id)},Rewired_GetGamepadMapping:function(e){if(window.guavamanEnterprisesRewired===undefined)return 0;var t=guavamanEnterprisesRewired.GetGamepad(e);if(t===null)return 0;var n=t.mapping;return n==="standard"?1:0},Rewired_GetGamepadMappingString:function(e){if(window.guavamanEnterprisesRewired===undefined)return null;var t=guavamanEnterprisesRewired.GetGamepad(e);if(t===null)return null;var n=t.mapping;if(n===null)return null;var r=window.guavamanEnterprisesRewired.lengthBytesUTF8(n)+1,i=_malloc(r);return window.guavamanEnterprisesRewired.stringToUTF8(n,i,r),i},Rewired_GetGamepadConnected:function(e){if(window.guavamanEnterprisesRewired===undefined)return!1;var t=guavamanEnterprisesRewired.GetGamepad(e);return t===null?!1:t.connected?!0:!1},Rewired_GetGamepadTimestamp:function(e){if(window.guavamanEnterprisesRewired===undefined)return 0;var t=guavamanEnterprisesRewired.GetGamepad(e);return t===null?0:t.timestamp},Rewired_GetGamepadButtonCount:function(e){if(window.guavamanEnterprisesRewired===undefined)return 0;var t=guavamanEnterprisesRewired.GetGamepad(e);return t===null?0:t.buttons.length},Rewired_GetGamepadAxisCount:function(e){if(window.guavamanEnterprisesRewired===undefined)return 0;var t=guavamanEnterprisesRewired.GetGamepad(e);return t===null?0:t.axes.length},Rewired_GetGamepadButtonValue:function(e,t){if(window.guavamanEnterprisesRewired===undefined)return 0;var n=guavamanEnterprisesRewired.GetGamepad(e);if(n===null)return 0;if(t<0||t>=n.buttons.length)return 0;var r=n.buttons[t];return typeof r=="object"?r.value:typeof r=="number"?r:0},Rewired_GetGamepadButtonIsPressed:function(e,t){if(window.guavamanEnterprisesRewired===undefined)return!1;var n=guavamanEnterprisesRewired.GetGamepad(e);if(n===null)return!1;if(t<0||t>=n.buttons.length)return!1;var r=n.buttons[t];return typeof r=="object"?r.pressed:typeof r=="number"?r>0:!1},Rewired_GetGamepadAxisValue:function(e,t){if(window.guavamanEnterprisesRewired===undefined)return 0;var n=guavamanEnterprisesRewired.GetGamepad(e);return n===null?0:t<0||t>=n.axes.length?0:n.axes[t]}});