var __assign=(this&&this.__assign)||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;} if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]=0?1:-1;return(Math.round((number*Math.pow(10,decimal))+(num_sign*0.0001))/Math.pow(10,decimal)).toFixed(decimal);} exports.precise_round=precise_round;function nf(n){if(isNaN(parseFloat(n))){n=0;} return precise_round(parseFloat(n),2);} exports.nf=nf;function _nf(n,fixed,int_if_possible){if(fixed===void 0){fixed=3;} if(int_if_possible===void 0){int_if_possible=false;} if(isNaN(parseFloat(n))){n=0;} if(isNaN(parseInt(fixed))){fixed=3;} return int_if_possible?precise_round(parseFloat(n),fixed).replace(".000",""):precise_round(parseFloat(n),fixed);} exports._nf=_nf;function mapsToObjects(maps_object){return Object.values(maps_object||{}).map(function(v){return v&&v.toObject?v.toObject():null;});} exports.mapsToObjects=mapsToObjects;function mtoa(maps_object){return mapsToObjects(maps_object);} exports.mtoa=mtoa;function mto(map_object){return map_object.toObject?map_object.toObject():null;} exports.mto=mto;function mtoaf(filter){return function(maps_object){return mtoa(maps_object).filter(filter);};} exports.mtoaf=mtoaf;function viewFacade(state_manager){return{props:{state_manager:state_manager}};} exports.viewFacade=viewFacade;function sRSP(view,property,value){if(!view||!view.props||!view.props.state_manager){console.error("Unable to update prop ("+property+"). Run state is inaccessible.");return;} return view.props.state_manager.setRunState(property,value);} exports.sRSP=sRSP;function gRSP(view,property){return view.props.state_manager.getRunStateProperty(property);} exports.gRSP=gRSP;function showLoader(view,text,hide_progress,on_click){if(text===void 0){text="";} if(hide_progress===void 0){hide_progress=false;} if(on_click===void 0){on_click=null;} if(!view||!view.props.state_manager){return;} return sRSP(view,loader_1.Loader_Events.DISPATCH_EVENT_SHOW_LOADER,{text:text,hide_progress:hide_progress,on_click:on_click});} exports.showLoader=showLoader;function hideLoader(view){if(!view||!view.props||!view.props.state_manager){_app._state_manager.setRunState(loader_1.Loader_Events.DISPATCH_EVENT_HIDE_LOADER,1);} return sRSP(view,loader_1.Loader_Events.DISPATCH_EVENT_HIDE_LOADER,1);} exports.hideLoader=hideLoader;function displayApiError(view,api_error){console.error(api_error);sRSP(view,"snackbar_queue",[{variant:'error',content:api_error.data.error_message}]);} exports.displayApiError=displayApiError;function snackbar(view,content,variant){if(content===void 0){content="";} if(variant===void 0){variant="info";} sRSP(view,"snackbar_queue",[{variant:variant,content:content}]);} exports.snackbar=snackbar;function snackbarMulti(view,messages){sRSP(view,"snackbar_queue",messages);} exports.snackbarMulti=snackbarMulti;function dialog(view,data,callback){sRSP(view,"dialog_queue",gRSP(view,"dialog_queue").concat(React.createElement(dialog_container_1.default,__assign({},data,{callback:callback}))));} exports.dialog=dialog;function confirmationDialog(_a){var _this=this;var view=_a.view,title=_a.title,agree_label=_a.agree_label,dismiss_label=_a.dismiss_label,content=_a.content,onAgree=_a.onAgree,onClose=_a.onClose,onLoad=_a.onLoad;dialog(view,{open:true,_key:'',fullScreen:document.body.clientWidth<600,dialog_style:function(dialog){return{background:'#edb38c',};},close_button_label:dismiss_label,dialog_title_style:{background:'#c85e18',padding:'24px 32px 20px'},title:function(dialog){return(React.createElement(material_ui_components_1.Typography,{variant:"h5",style:{fontSize:28,color:'#fff'}},title));},agree_button_style:{color:'primary',variant:'contained'},close_button_style:{color:'primary',variant:'outlined'},hide_agree_button:false,agree_button_label:agree_label,theme:material_ui_components_1.createMuiTheme({overrides:{},palette:{primary:{main:'#c85e18',},},}),handle_agree:function(dialog){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(_a){onAgree(dialog);return[2];});});},handle_close:onClose?function(dialog){onClose(dialog);}:null,content:function(dialog){return(React.createElement("div",{style:{paddingTop:32}},content));}},function(dialog){if(Array.isArray(view.dialogs)) view.dialogs.push(dialog);if(onLoad) onLoad(dialog);});} exports.confirmationDialog=confirmationDialog;function timeout(ms){return new Promise(function(resolve){return setTimeout(resolve,ms);});} exports.timeout=timeout;function apiPromise(view,args,func,raw){if(raw===void 0){raw=false;} return new Promise(function(resolve,reject){func.call(view.props.state_manager.api,args,false,function(resp){if(raw){resolve(resp);} resolve(resp.info);},function(err){console.error(err);reject(err);});});} exports.apiPromise=apiPromise;exports.API_ERROR="API-ERROR";function apiPromiseWCE(view,args,func,show_loader,success_callback,error_callback,raw){return new Promise(function(resolve,reject){view.__communicating_with_api++;if(show_loader) showLoader(view);apiPromise(view,args,func,raw).then(function(result){if(success_callback) success_callback(result);view.__communicating_with_api--;if(show_loader) hideLoader(view);resolve(result);}).catch(function(err){if(error_callback) error_callback(error_callback);view.__communicating_with_api--;if(show_loader) hideLoader(view);displayApiError(view,err);resolve(exports.API_ERROR);});});} exports.apiPromiseWCE=apiPromiseWCE;function stateViewAt(view,path,mutator){if(mutator===void 0){mutator=null;} if(mutator) return mutator(view.props.state_manager.viewAt(path));return view.props.state_manager.viewAt(path);} exports.stateViewAt=stateViewAt;function stateGetAt(view,path,mutator){if(mutator===void 0){mutator=null;} return new Promise(function(resolve,reject){view.props.state_manager.getAt(path,function(state){if(mutator) resolve(mutator(state));else resolve(state);});});} exports.stateGetAt=stateGetAt;function statePutAt(view,path,data){view.props.state_manager.putAt(path,data);} exports.statePutAt=statePutAt;function stateDeleteAt(view,path){view.props.state_manager.deleteAt(path);} exports.stateDeleteAt=stateDeleteAt;function emitEventForStore(view,event,path){view.props.state_manager.emitEventForStore(event,path);} exports.emitEventForStore=emitEventForStore;function apiUpdate(view,args,route){return new Promise(function(resolve,reject){view.props.state_manager.pushPendingUpdatesToApi(args,{},"update",route,function(resp){resolve(resp);},function(err){reject(err);});});} exports.apiUpdate=apiUpdate;function apiUpdateWCE(view,args,route,show_loader,success_callback,error_callback){return new Promise(function(resolve,reject){view.__communicating_with_api++;if(show_loader) showLoader(view);view.props.state_manager.pushPendingUpdatesToApi(args,{},"update",route,function(resp){if(success_callback) success_callback(resp);view.__communicating_with_api--;if(show_loader) hideLoader(view);resolve(resp);},function(err){if(error_callback) error_callback(err);view.__communicating_with_api--;if(show_loader) hideLoader(view);displayApiError(view,err);resolve(exports.API_ERROR);});});} exports.apiUpdateWCE=apiUpdateWCE;function apiDelete(view,args,route){return new Promise(function(resolve,reject){view.props.state_manager.pushPendingUpdatesToApi(args,{},"delete",route,function(resp){resolve(resp);},function(err){reject(err);});});} exports.apiDelete=apiDelete;function apiCreate(view,args,route){return new Promise(function(resolve,reject){view.props.state_manager.pushPendingUpdatesToApi(args,{},"create",route,function(resp){resolve(resp);},function(err){reject(err);});});} exports.apiCreate=apiCreate;function apiCreateWCE(view,args,route,show_loader,success_callback,error_callback){return new Promise(function(resolve,reject){view.__communicating_with_api++;if(show_loader) showLoader(view);view.props.state_manager.pushPendingUpdatesToApi(args,{},"create",route,function(resp){if(success_callback) success_callback(resp);view.__communicating_with_api--;if(show_loader) hideLoader(view);resolve(resp);},function(err){if(error_callback) error_callback(err);view.__communicating_with_api--;if(show_loader) hideLoader(view);displayApiError(view,err);reject(err);});});} exports.apiCreateWCE=apiCreateWCE;exports.GhostUser={id:0,email:'',first_name:'Unknown',last_name:'User',image:'https://www.gravatar.com/avatar/?d=mp'};exports.UserContext=function(_a){var user_id=_a.user_id,children=_a.children,getter=_a.getter;var _b=react_1.useState({user:__assign(__assign({},exports.GhostUser),{id:user_id})}),state=_b[0],setState=_b[1];react_1.useEffect(function(){(function(){return __awaiter(_this,void 0,void 0,function(){var resp;return __generator(this,function(_a){switch(_a.label){case 0:return[4,getter(user_id)];case 1:resp=_a.sent();if(resp===exports.API_ERROR||!setState) return[2];setState(__assign(__assign({},state),{user:resp}));return[2];}});});})();},[user_id]);return React.createElement(React.Fragment,null,children(state.user));};function getUser(user_id,users,state_manager){return new Promise(function(resolve,reject){});} exports.getUser=getUser;function listUserFromStore(view,user_id,store){var _this=this;if(store===void 0){store=null;} if(!store){store=mtoa(view.props.state_manager.viewAt('users'));} var resp=store.find(function(v){return parseInt(v.id)===parseInt(user_id);});if(resp){return resp;} if(!Array.isArray(gRSP(view,"_retrieved_missing_users"))){sRSP(view,"_retrieved_missing_users",[]);} if(!gRSP(view,"_retrieved_missing_users").includes(parseInt(user_id))){sRSP(view,"_retrieved_missing_users",__spreadArrays(gRSP(view,"_retrieved_missing_users"),[parseInt(user_id)]));(function(){return __awaiter(_this,void 0,void 0,function(){var user;return __generator(this,function(_a){switch(_a.label){case 0:return[4,apiPromise(view,{user_id:user_id},view.props.state_manager.api.listUser)];case 1:user=_a.sent();try{if(user&&user.id){view.props.state_manager.putAt("users/"+user_id,{data:user});view.props.state_manager.emitEventForStore('update','users');}} catch(e){} return[2];}});});})();} return{id:user_id,email:'',first_name:'Unknown',last_name:'User',image:'https://www.gravatar.com/avatar/?d=mp'};} exports.listUserFromStore=listUserFromStore;function addBusinessDays(moment_date,days){if(days<=0){return moment_date;} while(days>0){moment_date.add(1,"day");if([6,7].includes(moment_date.isoWeekday())){days++;} days--;} return moment_date;} exports.addBusinessDays=addBusinessDays;function randomString(n){var text="";var possible="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var i=0;i13){switch(num%10){case 1:return 'st';case 2:return 'nd';case 3:return 'rd';}} return 'th';} exports.addSuffix=addSuffix;exports.UserMenuItemWithAvatar=function(props){return(React.createElement(material_ui_components_1.MenuItem,__assign({buttonRef:props.innerRef,selected:props.isFocused,component:"div",style:{fontWeight:props.isSelected?500:400,height:'50px'}},props.innerProps),React.createElement("div",{style:{display:'flex'}},React.createElement("div",{style:{display:'flex',flexGrow:0,alignItems:'center',paddingRight:24}},props.data.image?React.createElement(material_ui_components_1.Avatar,{src:props.data.image}):props.data.image_component?props.data.image_component():React.createElement(material_ui_components_1.Avatar,null,React.createElement("i",{className:"fa fa-ban fa-2x"}))),React.createElement("div",{style:{display:'flex',flexGrow:1,alignItems:'center'}},React.createElement("div",null,React.createElement("div",{style:{display:'block'}},props.children),React.createElement("div",{style:{display:'block',fontSize:'.8em',color:style_constants.colors.text_light_grey}},props.data.email))))));};exports.MenuItemWithCaption=function(props){return(React.createElement(material_ui_components_1.MenuItem,__assign({buttonRef:props.innerRef,selected:props.isFocused,component:"div",style:{fontWeight:props.isSelected?500:400,height:'42px'}},props.innerProps),React.createElement("div",null,React.createElement("div",{style:{display:'block'}},props.children),React.createElement("div",{style:{display:'block',fontSize:'.8em',color:style_constants.colors.text_light_grey}},props.data.caption))));};exports.MenuItemWithJSX=function(props){return(React.createElement(material_ui_components_1.MenuItem,__assign({buttonRef:props.innerRef,selected:props.isFocused,component:"div",style:{fontWeight:props.isSelected?500:400,height:'42px'}},props.innerProps),React.createElement("div",null,React.createElement("div",{style:{display:'block'}},props.children),React.createElement("div",null,props.data.html))));};exports.FloatInput=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement("input",__assign({},other,{type:"number",ref:inputRef})));};exports.NumberInput=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement("input",__assign({},other,{type:"text",pattern:"[0-9]*",ref:inputRef})));};exports.FloatInputText=function(props){var inputRef=props.inputRef,onChange=props.onChange,other=__rest(props,["inputRef","onChange"]);return(React.createElement(NumberFormat,__assign({},other,{getInputRef:inputRef,onValueChange:function(values){onChange?onChange(values):false;},ref:inputRef})));};exports.IntegerInput=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{type:"text",pattern:"[0-9]*",ref:inputRef,mask:[/\d/,/\d?/,/\d?/,/\d?/,/\d?/],showMask:false})));};exports.TextMaskDate=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{type:"text",pattern:"[0-9]*",ref:inputRef,mask:[/\d/,/\d/,'/',/\d/,/\d/,'/',/\d/,/\d/,/\d/,/\d/],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskTime=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{type:"text",pattern:"[0-9]*",ref:inputRef,mask:[/\d/,/\d/,'h',' ',/[0-5]/,/\d/,'m'],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskMinutes=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{type:"text",pattern:"[0-9]*",ref:inputRef,mask:[/\d+/,'m'],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskPhone=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{type:"text",pattern:"[0-9]*",ref:inputRef,mask:['(',/[1-9]/,/\d/,/\d/,')',' ',/\d/,/\d/,/\d/,'-',/\d/,/\d/,/\d/,/\d/],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskSSN=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{ref:inputRef,type:"text",pattern:"[0-9]*",mask:[/[012345678]/,/\d/,/\d/,'-',/\d/,/\d/,'-',/\d/,/\d/,/\d/,/\d/],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskEIN=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{ref:inputRef,type:"text",pattern:"[0-9]*",mask:[/\d/,/\d/,'-',/\d/,/\d/,/\d/,/\d/,/\d/,/\d/,/\d/],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskZip=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{ref:inputRef,type:"text",pattern:"[0-9]*",mask:[/\d/,/\d/,/\d/,/\d/,/\d/],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.TextMaskRouting=function(props){var inputRef=props.inputRef,other=__rest(props,["inputRef"]);return(React.createElement(react_text_mask_1.default,__assign({},other,{ref:inputRef,type:"text",pattern:"[0-9]*",mask:[/\d/,/\d/,/\d/,/\d/,/\d/,/\d/,/\d/,/\d/,/\d/],placeholderChar:'\u2000',onFocus:function(evt){evt.target.setSelectionRange(0,evt.target.value.length);if(props.onFocus) props.onFocus(evt);},showMask:Boolean(other.value)})));};exports.AppColors=["#2580d8","#225878","#25ad8d","#ffbe5d","#783076","#85B8EA",];exports.AvatarCompany64=function(props){if(!props.style) props.style={};return(React.createElement("div",{style:__assign({position:'relative',borderRadius:'50%',background:exports.AppColors[parseInt(props.clients_id)%6],height:64,width:64,display:'flex',alignItems:'center',alignContent:'center',justifyContent:'center',color:'#fff',pointerEvents:'none',userSelect:'none'},props.style)},React.createElement("i",{style:{opacity:.2,fontSize:48},className:"fa fa-store-alt"}),React.createElement("span",{style:{fontSize:32,fontWeight:'bold',position:'absolute',textTransform:"capitalize"}},props.name.substr(0,2))));};exports.AvatarCompany36=function(props){if(!props.style) props.style={};return(React.createElement("div",{style:__assign({position:'relative',borderRadius:'50%',background:props.remainder?"#ccc":exports.AppColors[parseInt(props.clients_id)%6],height:36,width:36,display:'flex',alignItems:'center',alignContent:'center',justifyContent:'center',color:'#fff',pointerEvents:'none',userSelect:'none'},props.style)},React.createElement("i",{style:{opacity:.2,fontSize:24},className:"fa fa-store-alt"}),React.createElement("span",{style:{fontSize:16,fontWeight:'bold',position:'absolute',textTransform:"capitalize"}},props.remainder?"+"+props.remainder:props.name.substr(0,2))));};function buildProperties(args){var resp;resp={};for(var key in args){if(key==="func"){continue;} if(args[key]!==undefined){resp[key]=args[key];}} return resp;} exports.buildProperties=buildProperties;function Widget(props){return(React.createElement("span",{"data-widget-ref":props.widget_ref}));} exports.Widget=Widget;function LabelBox(props){var widget=new ALabelBox(buildProperties(props));if(typeof props.func==="function"){props.func(widget);} return(React.createElement("span",{ref:function(node){if(!node){return;}node.appendChild(widget.domNode);}}));} exports.LabelBox=LabelBox;function GroupBox(props){var div=document.createElement('div');ReactDom.render(props.children,div);props.content=div;var widget=new AGroupBox(buildProperties(props));if(typeof props.func==="function"){props.func(widget);} return(React.createElement("div",{ref:function(node){node.appendChild(widget.domNode);}}));} exports.GroupBox=GroupBox;function LabelDateBox(props){var widget=new ALabelDateBox(buildProperties(props));if(typeof props.func==="function"){props.func(widget);} return(React.createElement("span",{ref:function(node){if(!node){return;}node.appendChild(widget.domNode);}}));} exports.LabelDateBox=LabelDateBox;function Output(props){var widget=new AOutput(buildProperties(props));if(typeof props.func==="function"){props.func(widget);} widget.domNode.style.display="inline";return(React.createElement("span",{ref:function(node){if(!node){return;}node.appendChild(widget.domNode);widget.startup();}}));} exports.Output=Output;function FormButton(props){var widget=new AButton(buildProperties(props));if(typeof props.func==="function"){props.func(widget);} return(React.createElement("span",{ref:function(node){if(!node){return;}node.appendChild(widget.domNode);}}));} exports.FormButton=FormButton;function LabelSelect(props){var widget=new ALabelSelect(buildProperties(props));if(typeof props.func==="function"){props.func(widget);} return(React.createElement("span",{ref:function(node){if(!node){return;}node.appendChild(widget.domNode);}}));} exports.LabelSelect=LabelSelect;function appendWidget(){var args=[];for(var _i=0;_i16) bkey=binl_md5(bkey,key.length*8);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;} var hash=binl_md5(ipad.concat(rstr2binl(data)),512+data.length*8);return binl2rstr(binl_md5(opad.concat(hash),512+128));} function rstr2hex(input){try{hexcase;} catch(e){hexcase=0;} var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var output="";var x;for(var i=0;i>>4)&0x0F) +hex_tab.charAt(x&0x0F);} return output;} function rstr2b64(input){try{b64pad;} catch(e){b64pad='';} var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var output="";var len=input.length;for(var i=0;iinput.length*8) output+=b64pad;else output+=tab.charAt((triplet>>>6*(3-j))&0x3F);}} return output;} function rstr2any(input,encoding){var divisor=encoding.length;var i,j,q,x,quotient;var dividend=Array(Math.ceil(input.length/2));for(i=0;i0||q>0) quotient[quotient.length]=q;} remainders[j]=x;dividend=quotient;} var output="";for(i=remainders.length-1;i>=0;i--) output+=encoding.charAt(remainders[i]);return output;} function str2rstr_utf8(input){var output="";var i=-1;var x,y;while(++i>>6)&0x1F),0x80|(x&0x3F));else if(x<=0xFFFF) output+=String.fromCharCode(0xE0|((x>>>12)&0x0F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));else if(x<=0x1FFFFF) output+=String.fromCharCode(0xF0|((x>>>18)&0x07),0x80|((x>>>12)&0x3F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));} return output;} function str2rstr_utf16le(input){var output="";for(var i=0;i>>8)&0xFF);return output;} function str2rstr_utf16be(input){var output="";for(var i=0;i>>8)&0xFF,input.charCodeAt(i)&0xFF);return output;} function rstr2binl(input){var output=Array(input.length>>2);for(var i=0;i>5]|=(input.charCodeAt(i/8)&0xFF)<<(i%32);return output;} function binl2rstr(input){var output="";for(var i=0;i>5]>>>(i%32))&0xFF);return output;} function binl_md5(x,len){x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);} function bit_rol(num,cnt){return(num<>>(32-cnt));} exports.MD5=function(string){return hex_md5(string);};exports.SIC_CODES=[{"value":100,"category":"Industrial Applications and Services","label":"agricultural production-crops"},{"value":200,"category":"Industrial Applications and Services","label":"agricultural prod-livestock & animal specialties"},{"value":700,"category":"Industrial Applications and Services","label":"agricultural services"},{"value":800,"category":"Industrial Applications and Services","label":"forestry"},{"value":900,"category":"Industrial Applications and Services","label":"fishing, hunting and trapping"},{"value":1000,"category":"Office of Energy & Transportation","label":"metal mining"},{"value":1040,"category":"Office of Energy & Transportation","label":"gold and silver ores"},{"value":1090,"category":"Office of Energy & Transportation","label":"miscellaneous metal ores"},{"value":1220,"category":"Office of Energy & Transportation","label":"bituminous coal & lignite mining"},{"value":1221,"category":"Office of Energy & Transportation","label":"bituminous coal & lignite surface mining"},{"value":1311,"category":"Office of Energy & Transportation","label":"crude petroleum & natural gas"},{"value":1381,"category":"Office of Energy & Transportation","label":"drilling oil & gas wells"},{"value":1382,"category":"Office of Energy & Transportation","label":"oil & gas field exploration services"},{"value":1389,"category":"Office of Energy & Transportation","label":"oil & gas field services, nec"},{"value":1400,"category":"Office of Energy & Transportation","label":"mining & quarrying of nonmetallic minerals (no fuels)"},{"value":1520,"category":"Office of Real Estate & Construction","label":"general bldg contractors - residential bldgs"},{"value":1531,"category":"Office of Real Estate & Construction","label":"operative builders"},{"value":1540,"category":"Office of Real Estate & Construction","label":"general bldg contractors - nonresidential bldgs"},{"value":1600,"category":"Office of Real Estate & Construction","label":"heavy construction other than bldg const - contractors"},{"value":1623,"category":"Office of Real Estate & Construction","label":"water, sewer, pipeline, comm & power line construction"},{"value":1700,"category":"Office of Real Estate & Construction","label":"construction - special trade contractors"},{"value":1731,"category":"Office of Real Estate & Construction","label":"electrical work"},{"value":2000,"category":"Office of Manufacturing","label":"food and kindred products"},{"value":2011,"category":"Office of Manufacturing","label":"meat packing plants"},{"value":2013,"category":"Office of Manufacturing","label":"sausages & other prepared meat products"},{"value":2015,"category":"Office of Manufacturing","label":"poultry slaughtering and processing"},{"value":2020,"category":"Office of Manufacturing","label":"dairy products"},{"value":2024,"category":"Office of Manufacturing","label":"ice cream & frozen desserts"},{"value":2030,"category":"Office of Manufacturing","label":"canned, frozen & preservd fruit, veg & food specialties"},{"value":2033,"category":"Office of Manufacturing","label":"canned, fruits, veg, preserves, jams & jellies"},{"value":2040,"category":"Office of Manufacturing","label":"grain mill products"},{"value":2050,"category":"Office of Manufacturing","label":"bakery products"},{"value":2052,"category":"Office of Manufacturing","label":"cookies & crackers"},{"value":2060,"category":"Office of Manufacturing","label":"sugar & confectionery products"},{"value":2070,"category":"Office of Manufacturing","label":"fats & oils"},{"value":2080,"category":"Office of Manufacturing","label":"beverages"},{"value":2082,"category":"Office of Manufacturing","label":"malt beverages"},{"value":2086,"category":"Office of Manufacturing","label":"bottled & canned soft drinks & carbonated waters"},{"value":2090,"category":"Office of Manufacturing","label":"miscellaneous food preparations & kindred products"},{"value":2092,"category":"Office of Manufacturing","label":"prepared fresh or frozen fish & seafoods"},{"value":2100,"category":"Office of Manufacturing","label":"tobacco products"},{"value":2111,"category":"Office of Manufacturing","label":"cigarettes"},{"value":2200,"category":"Office of Manufacturing","label":"textile mill products"},{"value":2211,"category":"Office of Manufacturing","label":"broadwoven fabric mills, cotton"},{"value":2221,"category":"Office of Manufacturing","label":"broadwoven fabric mills, man made fiber & silk"},{"value":2250,"category":"Office of Manufacturing","label":"knitting mills"},{"value":2253,"category":"Office of Manufacturing","label":"knit outerwear mills"},{"value":2273,"category":"Office of Manufacturing","label":"carpets & rugs"},{"value":2300,"category":"Office of Manufacturing","label":"apparel & other finishd prods of fabrics & similar matl"},{"value":2320,"category":"Office of Manufacturing","label":"men's & boys' furnishgs, work clothg, & allied garments"},{"value":2330,"category":"Office of Manufacturing","label":"women's, misses', and juniors outerwear"},{"value":2340,"category":"Office of Manufacturing","label":"women's, misses', children's & infants' undergarments"},{"value":2390,"category":"Office of Manufacturing","label":"miscellaneous fabricated textile products"},{"value":2400,"category":"Office of Manufacturing","label":"lumber & wood products (no furniture)"},{"value":2421,"category":"Office of Manufacturing","label":"sawmills & planting mills, general"},{"value":2430,"category":"Office of Manufacturing","label":"millwood, veneer, plywood, & structural wood members"},{"value":2451,"category":"Office of Manufacturing","label":"mobile homes"},{"value":2452,"category":"Office of Manufacturing","label":"prefabricated wood bldgs & components"},{"value":2510,"category":"Office of Manufacturing","label":"household furniture"},{"value":2511,"category":"Office of Manufacturing","label":"wood household furniture, (no upholstered)"},{"value":2520,"category":"Office of Manufacturing","label":"office furniture"},{"value":2522,"category":"Office of Manufacturing","label":"office furniture (no wood)"},{"value":2531,"category":"Office of Manufacturing","label":"public bldg & related furniture"},{"value":2540,"category":"Office of Manufacturing","label":"partitions, shelvg, lockers, & office & store fixtures"},{"value":2590,"category":"Office of Manufacturing","label":"miscellaneous furniture & fixtures"},{"value":2600,"category":"Office of Manufacturing","label":"papers & allied products"},{"value":2611,"category":"Office of Manufacturing","label":"pulp mills"},{"value":2621,"category":"Office of Manufacturing","label":"paper mills"},{"value":2631,"category":"Office of Manufacturing","label":"paperboard mills"},{"value":2650,"category":"Office of Manufacturing","label":"paperboard containers & boxes"},{"value":2670,"category":"Office of Manufacturing","label":"converted paper & paperboard prods (no contaners/boxes)"},{"value":2673,"category":"Office of Manufacturing","label":"plastics, foil & coated paper bags"},{"value":2711,"category":"Office of Manufacturing","label":"newspapers: publishing or publishing & printing"},{"value":2721,"category":"Office of Manufacturing","label":"periodicals: publishing or publishing & printing"},{"value":2731,"category":"Office of Manufacturing","label":"books: publishing or publishing & printing"},{"value":2732,"category":"Office of Manufacturing","label":"book printing"},{"value":2741,"category":"Office of Manufacturing","label":"miscellaneous publishing"},{"value":2750,"category":"Office of Manufacturing","label":"commercial printing"},{"value":2761,"category":"Office of Manufacturing","label":"manifold business forms"},{"value":2771,"category":"Office of Manufacturing","label":"greeting cards"},{"value":2780,"category":"Office of Manufacturing","label":"blankbooks, looseleaf binders & bookbindg & relatd work"},{"value":2790,"category":"Office of Manufacturing","label":"service industries for the printing trade"},{"value":2800,"category":"Industrial Applications and Services","label":"chemicals & allied products"},{"value":2810,"category":"Industrial Applications and Services","label":"industrial inorganic chemicals"},{"value":2820,"category":"Industrial Applications and Services","label":"plastic material, synth resin/rubber, cellulos (no glass)"},{"value":2821,"category":"Industrial Applications and Services","label":"plastic materials, synth resins & nonvulcan elastomers"},{"value":2833,"category":"Office of Life Sciences","label":"medicinal chemicals & botanical products"},{"value":2834,"category":"Office of Life Sciences","label":"pharmaceutical preparations"},{"value":2835,"category":"Office of Life Sciences","label":"in vitro & in vivo diagnostic substances"},{"value":2836,"category":"Office of Life Sciences","label":"biological products, (no disgnostic substances)"},{"value":2840,"category":"Industrial Applications and Services","label":"soap, detergents, cleang preparations, perfumes, cosmetics"},{"value":2842,"category":"Industrial Applications and Services","label":"specialty cleaning, polishing and sanitation preparations"},{"value":2844,"category":"Industrial Applications and Services","label":"perfumes, cosmetics & other toilet preparations"},{"value":2851,"category":"Industrial Applications and Services","label":"paints, varnishes, lacquers, enamels & allied prods"},{"value":2860,"category":"Industrial Applications and Services","label":"industrial organic chemicals"},{"value":2870,"category":"Industrial Applications and Services","label":"agricultural chemicals"},{"value":2890,"category":"Industrial Applications and Services","label":"miscellaneous chemical products"},{"value":2891,"category":"Industrial Applications and Services","label":"adhesives & sealants"},{"value":2911,"category":"Office of Energy & Transportation","label":"petroleum refining"},{"value":2950,"category":"Office of Energy & Transportation","label":"asphalt paving & roofing materials"},{"value":2990,"category":"Office of Energy & Transportation","label":"miscellaneous products of petroleum & coal"},{"value":3011,"category":"Office of Manufacturing","label":"tires & inner tubes"},{"value":3021,"category":"Office of Manufacturing","label":"rubber & plastics footwear"},{"value":3050,"category":"Office of Manufacturing","label":"gaskets, packg & sealg devices & rubber & plastics hose"},{"value":3060,"category":"Office of Manufacturing","label":"fabricated rubber products, nec"},{"value":3080,"category":"Industrial Applications and Services","label":"miscellaneous plastics products"},{"value":3081,"category":"Industrial Applications and Services","label":"unsupported plastics film & sheet"},{"value":3086,"category":"Industrial Applications and Services","label":"plastics foam products"},{"value":3089,"category":"Industrial Applications and Services","label":"plastics products, nec"},{"value":3100,"category":"Office of Manufacturing","label":"leather & leather products"},{"value":3140,"category":"Office of Manufacturing","label":"footwear, (no rubber)"},{"value":3211,"category":"Office of Manufacturing","label":"flat glass"},{"value":3220,"category":"Office of Manufacturing","label":"glass & glassware, pressed or blown"},{"value":3221,"category":"Office of Manufacturing","label":"glass containers"},{"value":3231,"category":"Office of Manufacturing","label":"glass products, made of purchased glass"},{"value":3241,"category":"Office of Manufacturing","label":"cement, hydraulic"},{"value":3250,"category":"Office of Manufacturing","label":"structural clay products"},{"value":3260,"category":"Office of Manufacturing","label":"pottery & related products"},{"value":3270,"category":"Office of Manufacturing","label":"concrete, gypsum & plaster products"},{"value":3272,"category":"Office of Manufacturing","label":"concrete products, except block & brick"},{"value":3281,"category":"Office of Manufacturing","label":"cut stone & stone products"},{"value":3290,"category":"Office of Manufacturing","label":"abrasive, asbestos & misc nonmetallic mineral prods"},{"value":3310,"category":"Office of Manufacturing","label":"steel works, blast furnaces & rolling & finishing mills"},{"value":3312,"category":"Office of Manufacturing","label":"steel works, blast furnaces & rolling mills (coke ovens)"},{"value":3317,"category":"Office of Manufacturing","label":"steel pipe & tubes"},{"value":3320,"category":"Office of Manufacturing","label":"iron & steel foundries"},{"value":3330,"category":"Office of Manufacturing","label":"primary smelting & refining of nonferrous metals"},{"value":3334,"category":"Office of Manufacturing","label":"primary production of aluminum"},{"value":3341,"category":"Office of Manufacturing","label":"secondary smelting & refining of nonferrous metals"},{"value":3350,"category":"Office of Manufacturing","label":"rolling drawing & extruding of nonferrous metals"},{"value":3357,"category":"Office of Manufacturing","label":"drawing & insulating of nonferrous wire"},{"value":3360,"category":"Office of Manufacturing","label":"nonferrous foundries (castings)"},{"value":3390,"category":"Office of Manufacturing","label":"miscellaneous primary metal products"},{"value":3411,"category":"Office of Manufacturing","label":"metal cans"},{"value":3412,"category":"Office of Manufacturing","label":"metal shipping barrels, drums, kegs & pails"},{"value":3420,"category":"Office of Manufacturing","label":"cutlery, handtools & general hardware"},{"value":3430,"category":"Office of Manufacturing","label":"heating equip, except elec & warm air; & plumbing fixtures"},{"value":3433,"category":"Office of Manufacturing","label":"heating equipment, except electric & warm air furnaces"},{"value":3440,"category":"Office of Manufacturing","label":"fabricated structural metal products"},{"value":3442,"category":"Office of Manufacturing","label":"metal doors, sash, frames, moldings & trim"},{"value":3443,"category":"Office of Manufacturing","label":"fabricated plate work (boiler shops)"},{"value":3444,"category":"Office of Manufacturing","label":"sheet metal work"},{"value":3448,"category":"Office of Manufacturing","label":"prefabricated metal buildings & components"},{"value":3451,"category":"Office of Manufacturing","label":"screw machine products"},{"value":3452,"category":"Office of Manufacturing","label":"bolts, nuts, screws, rivets & washers"},{"value":3460,"category":"Office of Manufacturing","label":"metal forgings & stampings"},{"value":3470,"category":"Office of Manufacturing","label":"coating, engraving & allied services"},{"value":3480,"category":"Office of Manufacturing","label":"ordnance & accessories, (no vehicles/guided missiles)"},{"value":3490,"category":"Office of Manufacturing","label":"miscellaneous fabricated metal products"},{"value":3510,"category":"Office of Technology","label":"engines & turbines"},{"value":3523,"category":"Office of Technology","label":"farm machinery & equipment"},{"value":3524,"category":"Office of Technology","label":"lawn & garden tractors & home lawn & gardens equip"},{"value":3530,"category":"Office of Technology","label":"construction, mining & materials handling machinery & equip"},{"value":3531,"category":"Office of Technology","label":"construction machinery & equip"},{"value":3532,"category":"Office of Technology","label":"mining machinery & equip (no oil & gas field mach & equip)"},{"value":3533,"category":"Office of Technology","label":"oil & gas field machinery & equipment"},{"value":3537,"category":"Office of Technology","label":"industrial trucks, tractors, trailors & stackers"},{"value":3540,"category":"Office of Technology","label":"metalworkg machinery & equipment"},{"value":3541,"category":"Office of Technology","label":"machine tools, metal cutting types"},{"value":3550,"category":"Office of Technology","label":"special industry machinery (no metalworking machinery)"},{"value":3555,"category":"Office of Technology","label":"printing trades machinery & equipment"},{"value":3559,"category":"Office of Technology","label":"special industry machinery, nec"},{"value":3560,"category":"Office of Technology","label":"general industrial machinery & equipment"},{"value":3561,"category":"Office of Technology","label":"pumps & pumping equipment"},{"value":3562,"category":"Office of Technology","label":"ball & roller bearings"},{"value":3564,"category":"Office of Technology","label":"industrial & commercial fans & blowers & air purifing equip"},{"value":3567,"category":"Office of Technology","label":"industrial process furnaces & ovens"},{"value":3569,"category":"Office of Technology","label":"general industrial machinery & equipment, nec"},{"value":3570,"category":"Office of Technology","label":"computer & office equipment"},{"value":3571,"category":"Office of Technology","label":"electronic computers"},{"value":3572,"category":"Office of Technology","label":"computer storage devices"},{"value":3575,"category":"Office of Technology","label":"computer terminals"},{"value":3576,"category":"Office of Technology","label":"computer communications equipment"},{"value":3577,"category":"Office of Technology","label":"computer peripheral equipment, nec"},{"value":3578,"category":"Office of Technology","label":"calculating & accounting machines (no electronic computers)"},{"value":3579,"category":"Office of Technology","label":"office machines, nec"},{"value":3580,"category":"Office of Technology","label":"refrigeration & service industry machinery"},{"value":3585,"category":"Office of Technology","label":"air-cond & warm air heatg equip & comm & indl refrig equip"},{"value":3590,"category":"Office of Technology","label":"misc industrial & commercial machinery & equipment"},{"value":3600,"category":"Office of Manufacturing","label":"electronic & other electrical equipment (no computer equip)"},{"value":3612,"category":"Office of Manufacturing","label":"power, distribution & specialty transformers"},{"value":3613,"category":"Office of Manufacturing","label":"switchgear & switchboard apparatus"},{"value":3620,"category":"Office of Manufacturing","label":"electrical industrial apparatus"},{"value":3621,"category":"Office of Manufacturing","label":"motors & generators"},{"value":3630,"category":"Office of Manufacturing","label":"household appliances"},{"value":3634,"category":"Office of Manufacturing","label":"electric housewares & fans"},{"value":3640,"category":"Office of Manufacturing","label":"electric lighting & wiring equipment"},{"value":3651,"category":"Office of Manufacturing","label":"household audio & video equipment"},{"value":3652,"category":"Office of Manufacturing","label":"phonograph records & prerecorded audio tapes & disks"},{"value":3661,"category":"Office of Manufacturing","label":"telephone & telegraph apparatus"},{"value":3663,"category":"Office of Manufacturing","label":"radio & tv broadcasting & communications equipment"},{"value":3669,"category":"Office of Manufacturing","label":"communications equipment, nec"},{"value":3670,"category":"Office of Manufacturing","label":"electronic components & accessories"},{"value":3672,"category":"Office of Manufacturing","label":"printed circuit boards"},{"value":3674,"category":"Office of Manufacturing","label":"semiconductors & related devices"},{"value":3677,"category":"Office of Manufacturing","label":"electronic coils, transformers & other inductors"},{"value":3678,"category":"Office of Manufacturing","label":"electronic connectors"},{"value":3679,"category":"Office of Manufacturing","label":"electronic components, nec"},{"value":3690,"category":"Office of Manufacturing","label":"miscellaneous electrical machinery, equipment & supplies"},{"value":3695,"category":"Office of Manufacturing","label":"magnetic & optical recording media"},{"value":3711,"category":"Office of Manufacturing","label":"motor vehicles & passenger car bodies"},{"value":3713,"category":"Office of Manufacturing","label":"truck & bus bodies"},{"value":3714,"category":"Office of Manufacturing","label":"motor vehicle parts & accessories"},{"value":3715,"category":"Office of Manufacturing","label":"truck trailers"},{"value":3716,"category":"Office of Manufacturing","label":"motor homes"},{"value":3720,"category":"Office of Manufacturing","label":"aircraft & parts"},{"value":3721,"category":"Office of Manufacturing","label":"aircraft"},{"value":3724,"category":"Office of Manufacturing","label":"aircraft engines & engine parts"},{"value":3728,"category":"Office of Manufacturing","label":"aircraft parts & auxiliary equipment, nec"},{"value":3730,"category":"Office of Manufacturing","label":"ship & boat building & repairing"},{"value":3743,"category":"Office of Manufacturing","label":"railroad equipment"},{"value":3751,"category":"Office of Manufacturing","label":"motorcycles, bicycles & parts"},{"value":3760,"category":"Office of Manufacturing","label":"guided missiles & space vehicles & parts"},{"value":3790,"category":"Office of Manufacturing","label":"miscellaneous transportation equipment"},{"value":3812,"category":"Office of Manufacturing","label":"search, detection, navagation, guidance, aeronautical sys"},{"value":3821,"category":"Industrial Applications and Services","label":"laboratory apparatus & furniture"},{"value":3822,"category":"Industrial Applications and Services","label":"auto controls for regulating residential & comml environments"},{"value":3823,"category":"Industrial Applications and Services","label":"industrial instruments for measurement, display, and control"},{"value":3824,"category":"Industrial Applications and Services","label":"totalizing fluid meters & counting devices"},{"value":3825,"category":"Industrial Applications and Services","label":"instruments for meas & testing of electricity & elec signals"},{"value":3826,"category":"Industrial Applications and Services","label":"laboratory analytical instruments"},{"value":3827,"category":"Industrial Applications and Services","label":"optical instruments & lenses"},{"value":3829,"category":"Industrial Applications and Services","label":"measuring & controlling devices, nec"},{"value":3841,"category":"Industrial Applications and Services","label":"surgical & medical instruments & apparatus"},{"value":3842,"category":"Industrial Applications and Services","label":"orthopedic, prosthetic & surgical appliances & supplies"},{"value":3843,"category":"Industrial Applications and Services","label":"dental equipment & supplies"},{"value":3844,"category":"Industrial Applications and Services","label":"x-ray apparatus & tubes & related irradiation apparatus"},{"value":3845,"category":"Industrial Applications and Services","label":"electromedical & electrotherapeutic apparatus"},{"value":3851,"category":"Industrial Applications and Services","label":"ophthalmic goods"},{"value":3861,"category":"Industrial Applications and Services","label":"photographic equipment & supplies"},{"value":3873,"category":"Industrial Applications and Services","label":"watches, clocks, clockwork operated devices/parts"},{"value":3910,"category":"Office of Manufacturing","label":"jewelry, silverware & plated ware"},{"value":3911,"category":"Office of Manufacturing","label":"jewelry, precious metal"},{"value":3931,"category":"Office of Manufacturing","label":"musical instruments"},{"value":3942,"category":"Office of Manufacturing","label":"dolls & stuffed toys"},{"value":3944,"category":"Office of Manufacturing","label":"games, toys & children's vehicles (no dolls & bicycles)"},{"value":3949,"category":"Office of Manufacturing","label":"sporting & athletic goods, nec"},{"value":3950,"category":"Office of Manufacturing","label":"pens, pencils & other artists' materials"},{"value":3960,"category":"Office of Manufacturing","label":"costume jewelry & novelties"},{"value":3990,"category":"Office of Manufacturing","label":"miscellaneous manufacturing industries"},{"value":4011,"category":"Office of Energy & Transportation","label":"railroads, line-haul operating"},{"value":4013,"category":"Office of Energy & Transportation","label":"railroad switching & terminal establishments"},{"value":4100,"category":"Office of Energy & Transportation","label":"local & suburban transit & interurban hwy passenger trans"},{"value":4210,"category":"Office of Energy & Transportation","label":"trucking & courier services (no air)"},{"value":4213,"category":"Office of Energy & Transportation","label":"trucking (no local)"},{"value":4220,"category":"Office of Energy & Transportation","label":"public warehousing & storage"},{"value":4231,"category":"Office of Energy & Transportation","label":"terminal maintenance facilities for motor freight transport"},{"value":4400,"category":"Office of Energy & Transportation","label":"water transportation"},{"value":4412,"category":"Office of Energy & Transportation","label":"deep sea foreign transportation of freight"},{"value":4512,"category":"Office of Energy & Transportation","label":"air transportation, scheduled"},{"value":4513,"category":"Office of Energy & Transportation","label":"air courier services"},{"value":4522,"category":"Office of Energy & Transportation","label":"air transportation, nonscheduled"},{"value":4581,"category":"Office of Energy & Transportation","label":"airports, flying fields & airport terminal services"},{"value":4610,"category":"Office of Energy & Transportation","label":"pipe lines (no natural gas)"},{"value":4700,"category":"Office of Energy & Transportation","label":"transportation services"},{"value":4731,"category":"Office of Energy & Transportation","label":"arrangement of transportation of freight & cargo"},{"value":4812,"category":"Office of Technology","label":"radiotelephone communications"},{"value":4813,"category":"Office of Technology","label":"telephone communications (no radiotelephone)"},{"value":4822,"category":"Office of Technology","label":"telegraph & other message communications"},{"value":4832,"category":"Office of Technology","label":"radio broadcasting stations"},{"value":4833,"category":"Office of Technology","label":"television broadcasting stations"},{"value":4841,"category":"Office of Technology","label":"cable & other pay television services"},{"value":4899,"category":"Office of Technology","label":"communications services, nec"},{"value":4900,"category":"Office of Energy & Transportation","label":"electric, gas & sanitary services"},{"value":4911,"category":"Office of Energy & Transportation","label":"electric services"},{"value":4922,"category":"Office of Energy & Transportation","label":"natural gas transmission"},{"value":4923,"category":"Office of Energy & Transportation","label":"natural gas transmisison & distribution"},{"value":4924,"category":"Office of Energy & Transportation","label":"natural gas distribution"},{"value":4931,"category":"Office of Energy & Transportation","label":"electric & other services combined"},{"value":4932,"category":"Office of Energy & Transportation","label":"gas & other services combined"},{"value":4941,"category":"Office of Energy & Transportation","label":"water supply"},{"value":4950,"category":"Office of Energy & Transportation","label":"sanitary services"},{"value":4953,"category":"Office of Energy & Transportation","label":"refuse systems"},{"value":4955,"category":"Office of Energy & Transportation","label":"hazardous waste management"},{"value":4961,"category":"Office of Energy & Transportation","label":"steam & air-conditioning supply"},{"value":4991,"category":"Office of Energy & Transportation","label":"cogeneration services & small power producers"},{"value":5000,"category":"Office of Trade & Services","label":"wholesale-durable goods"},{"value":5010,"category":"Office of Trade & Services","label":"wholesale-motor vehicles & motor vehicle parts & supplies"},{"value":5013,"category":"Office of Trade & Services","label":"wholesale-motor vehicle supplies & new parts"},{"value":5020,"category":"Office of Trade & Services","label":"wholesale-furniture & home furnishings"},{"value":5030,"category":"Office of Trade & Services","label":"wholesale-lumber & other construction materials"},{"value":5031,"category":"Office of Trade & Services","label":"wholesale-lumber, plywood, millwork & wood panels"},{"value":5040,"category":"Office of Trade & Services","label":"wholesale-professional & commercial equipment & supplies"},{"value":5045,"category":"Office of Trade & Services","label":"wholesale-computers & peripheral equipment & software"},{"value":5047,"category":"Office of Trade & Services","label":"wholesale-medical, dental & hospital equipment & supplies"},{"value":5050,"category":"Office of Trade & Services","label":"wholesale-metals & minerals (no petroleum)"},{"value":5051,"category":"Office of Trade & Services","label":"wholesale-metals service centers & offices"},{"value":5063,"category":"Office of Trade & Services","label":"wholesale-electrical apparatus & equipment, wiring supplies"},{"value":5064,"category":"Office of Trade & Services","label":"wholesale-electrical appliances, tv & radio sets"},{"value":5065,"category":"Office of Trade & Services","label":"wholesale-electronic parts & equipment, nec"},{"value":5070,"category":"Office of Trade & Services","label":"wholesale-hardware & plumbing & heating equipment & supplies"},{"value":5072,"category":"Office of Trade & Services","label":"wholesale-hardware"},{"value":5080,"category":"Office of Trade & Services","label":"wholesale-machinery, equipment & supplies"},{"value":5082,"category":"Office of Trade & Services","label":"wholesale-construction & mining (no petro) machinery & equip"},{"value":5084,"category":"Office of Trade & Services","label":"wholesale-industrial machinery & equipment"},{"value":5090,"category":"Office of Trade & Services","label":"wholesale-misc durable goods"},{"value":5094,"category":"Office of Trade & Services","label":"wholesale-jewelry, watches, precious stones & metals"},{"value":5099,"category":"Office of Trade & Services","label":"wholesale-durable goods, nec"},{"value":5110,"category":"Office of Trade & Services","label":"wholesale-paper & paper products"},{"value":5122,"category":"Office of Trade & Services","label":"wholesale-drugs, proprietaries & druggists' sundries"},{"value":5130,"category":"Office of Trade & Services","label":"wholesale-apparel, piece goods & notions"},{"value":5140,"category":"Office of Trade & Services","label":"wholesale-groceries & related products"},{"value":5141,"category":"Office of Trade & Services","label":"wholesale-groceries, general line"},{"value":5150,"category":"Office of Trade & Services","label":"wholesale-farm product raw materials"},{"value":5160,"category":"Office of Trade & Services","label":"wholesale-chemicals & allied products"},{"value":5171,"category":"Office of Trade & Services","label":"wholesale-petroleum bulk stations & terminals"},{"value":5172,"category":"Office of Trade & Services","label":"wholesale-petroleum & petroleum products (no bulk stations)"},{"value":5180,"category":"Office of Trade & Services","label":"wholesale-beer, wine & distilled alcoholic beverages"},{"value":5190,"category":"Office of Trade & Services","label":"wholesale-miscellaneous nondurable goods"},{"value":5200,"category":"Office of Trade & Services","label":"retail-building materials, hardware, garden supply"},{"value":5211,"category":"Office of Trade & Services","label":"retail-lumber & other building materials dealers"},{"value":5271,"category":"Office of Trade & Services","label":"retail-mobile home dealers"},{"value":5311,"category":"Office of Trade & Services","label":"retail-department stores"},{"value":5331,"category":"Office of Trade & Services","label":"retail-variety stores"},{"value":5399,"category":"Office of Trade & Services","label":"retail-misc general merchandise stores"},{"value":5400,"category":"Office of Trade & Services","label":"retail-food stores"},{"value":5411,"category":"Office of Trade & Services","label":"retail-grocery stores"},{"value":5412,"category":"Office of Trade & Services","label":"retail-convenience stores"},{"value":5500,"category":"Office of Trade & Services","label":"retail-auto dealers & gasoline stations"},{"value":5531,"category":"Office of Trade & Services","label":"retail-auto & home supply stores"},{"value":5600,"category":"Office of Trade & Services","label":"retail-apparel & accessory stores"},{"value":5621,"category":"Office of Trade & Services","label":"retail-women's clothing stores"},{"value":5651,"category":"Office of Trade & Services","label":"retail-family clothing stores"},{"value":5661,"category":"Office of Trade & Services","label":"retail-shoe stores"},{"value":5700,"category":"Office of Trade & Services","label":"retail-home furniture, furnishings & equipment stores"},{"value":5712,"category":"Office of Trade & Services","label":"retail-furniture stores"},{"value":5731,"category":"Office of Trade & Services","label":"retail-radio, tv & consumer electronics stores"},{"value":5734,"category":"Office of Trade & Services","label":"retail-computer & computer software stores"},{"value":5735,"category":"Office of Trade & Services","label":"retail-record & prerecorded tape stores"},{"value":5810,"category":"Office of Trade & Services","label":"retail-eating & drinking places"},{"value":5812,"category":"Office of Trade & Services","label":"retail-eating places"},{"value":5900,"category":"Office of Trade & Services","label":"retail-miscellaneous retail"},{"value":5912,"category":"Office of Trade & Services","label":"retail-drug stores and proprietary stores"},{"value":5940,"category":"Office of Trade & Services","label":"retail-miscellaneous shopping goods stores"},{"value":5944,"category":"Office of Trade & Services","label":"retail-jewelry stores"},{"value":5945,"category":"Office of Trade & Services","label":"retail-hobby, toy & game shops"},{"value":5960,"category":"Office of Trade & Services","label":"retail-nonstore retailers"},{"value":5961,"category":"Office of Trade & Services","label":"retail-catalog & mail-order houses"},{"value":5990,"category":"Office of Trade & Services","label":"retail-retail stores, nec"},{"value":6021,"category":"Office of Finance","label":"national commercial banks"},{"value":6022,"category":"Office of Finance","label":"state commercial banks"},{"value":6029,"category":"Office of Finance","label":"commercial banks, nec"},{"value":6035,"category":"Office of Finance","label":"savings institution, federally chartered"},{"value":6036,"category":"Office of Finance","label":"savings institutions, not federally chartered"},{"value":6099,"category":"Office of Finance","label":"functions related to depository banking, nec"},{"value":6111,"category":"Office of Finance","label":"federal & federally-sponsored credit agencies"},{"value":6141,"category":"Office of Finance","label":"personal credit institutions"},{"value":6153,"category":"Office of Finance","label":"short-term business credit institutions"},{"value":6159,"category":"Office of Finance","label":"miscellaneous business credit institution"},{"value":6162,"category":"Office of Finance","label":"mortgage bankers & loan correspondents"},{"value":6163,"category":"Office of Finance","label":"loan brokers"},{"value":6172,"category":"Office of Finance","label":"finance lessors"},{"value":6189,"category":"Office of Structured Finance","label":"asset-backed securities"},{"value":6199,"category":"Office of Finance or Office of Crypto Assets","label":"finance services"},{"value":6200,"category":"Office of Finance","label":"security & commodity brokers, dealers, exchanges & services"},{"value":6211,"category":"Office of Finance","label":"security brokers, dealers & flotation companies"},{"value":6221,"category":"Office of Crypto Assets","label":"commodity contracts brokers & dealers"},{"value":6282,"category":"Office of Finance","label":"investment advice"},{"value":6311,"category":"Office of Finance","label":"life insurance"},{"value":6321,"category":"Office of Finance","label":"accident & health insurance"},{"value":6324,"category":"Office of Finance","label":"hospital & medical service plans"},{"value":6331,"category":"Office of Finance","label":"fire, marine & casualty insurance"},{"value":6351,"category":"Office of Finance","label":"surety insurance"},{"value":6361,"category":"Office of Finance","label":"title insurance"},{"value":6399,"category":"Office of Finance","label":"insurance carriers, nec"},{"value":6411,"category":"Office of Finance","label":"insurance agents, brokers & service"},{"value":6500,"category":"Office of Real Estate & Construction","label":"real estate"},{"value":6510,"category":"Office of Real Estate & Construction","label":"real estate operators (no developers) & lessors"},{"value":6512,"category":"Office of Real Estate & Construction","label":"operators of nonresidential buildings"},{"value":6513,"category":"Office of Real Estate & Construction","label":"operators of apartment buildings"},{"value":6519,"category":"Office of Real Estate & Construction","label":"lessors of real property, nec"},{"value":6531,"category":"Office of Real Estate & Construction","label":"real estate agents & managers (for others)"},{"value":6532,"category":"Office of Real Estate & Construction","label":"real estate dealers (for their own account)"},{"value":6552,"category":"Office of Real Estate & Construction","label":"land subdividers & developers (no cemeteries)"},{"value":6770,"category":"Office of Real Estate & Construction","label":"blank checks"},{"value":6792,"category":"Office of Real Estate & Construction","label":"oil royalty traders"},{"value":6794,"category":"Office of Real Estate & Construction","label":"patent owners & lessors"},{"value":6795,"category":"Office of Real Estate & Construction","label":"mineral royalty traders"},{"value":6798,"category":"Office of Real Estate & Construction","label":"real estate investment trusts"},{"value":6799,"category":"Office of Real Estate & Construction","label":"investors, nec"},{"value":7000,"category":"Office of Real Estate & Construction","label":"hotels, rooming houses, camps & other lodging places"},{"value":7011,"category":"Office of Real Estate & Construction","label":"hotels & motels"},{"value":7200,"category":"Office of Trade & Services","label":"services-personal services"},{"value":7310,"category":"Office of Trade & Services","label":"services-advertising"},{"value":7311,"category":"Office of Trade & Services","label":"services-advertising agencies"},{"value":7320,"category":"Office of Trade & Services","label":"services-consumer credit reporting, collection agencies"},{"value":7330,"category":"Office of Trade & Services","label":"services-mailing, reproduction, commercial art & photography"},{"value":7331,"category":"Office of Trade & Services","label":"services-direct mail advertising services"},{"value":7340,"category":"Office of Trade & Services","label":"services-to dwellings & other buildings"},{"value":7350,"category":"Office of Trade & Services","label":"services-miscellaneous equipment rental & leasing"},{"value":7359,"category":"Office of Trade & Services","label":"services-equipment rental & leasing, nec"},{"value":7361,"category":"Office of Trade & Services","label":"services-employment agencies"},{"value":7363,"category":"Office of Trade & Services","label":"services-help supply services"},{"value":7370,"category":"Office of Technology","label":"services-computer programming, data processing, etc."},{"value":7371,"category":"Office of Technology","label":"services-computer programming services"},{"value":7372,"category":"Office of Technology","label":"services-prepackaged software"},{"value":7373,"category":"Office of Technology","label":"services-computer integrated systems design"},{"value":7374,"category":"Office of Technology","label":"services-computer processing & data preparation"},{"value":7377,"category":"Office of Trade & Services","label":"services-computer rental & leasing"},{"value":7380,"category":"Office of Trade & Services","label":"services-miscellaneous business services"},{"value":7381,"category":"Office of Trade & Services","label":"services-detective, guard & armored car services"},{"value":7384,"category":"Office of Trade & Services","label":"services-photofinishing laboratories"},{"value":7385,"category":"Office of Trade & Services","label":"services-telephone interconnect systems"},{"value":7389,"category":"Office of Trade & Services","label":"services-business services, nec"},{"value":7500,"category":"Office of Trade & Services","label":"services-automotive repair, services & parking"},{"value":7510,"category":"Office of Trade & Services","label":"services-auto rental & leasing (no drivers)"},{"value":7600,"category":"Office of Trade & Services","label":"services-miscellaneous repair services"},{"value":7812,"category":"Office of Trade & Services","label":"services-motion picture & video tape production"},{"value":7819,"category":"Office of Trade & Services","label":"services-allied to motion picture production"},{"value":7822,"category":"Office of Trade & Services","label":"services-motion picture & video tape distribution"},{"value":7829,"category":"Office of Trade & Services","label":"services-allied to motion picture distribution"},{"value":7830,"category":"Office of Trade & Services","label":"services-motion picture theaters"},{"value":7841,"category":"Office of Trade & Services","label":"services-video tape rental"},{"value":7900,"category":"Office of Trade & Services","label":"services-amusement & recreation services"},{"value":7948,"category":"Office of Trade & Services","label":"services-racing, including track operation"},{"value":7990,"category":"Office of Trade & Services","label":"services-miscellaneous amusement & recreation"},{"value":7997,"category":"Office of Trade & Services","label":"services-membership sports & recreation clubs"},{"value":8000,"category":"Industrial Applications and Services","label":"services-health services"},{"value":8011,"category":"Industrial Applications and Services","label":"services-offices & clinics of doctors of medicine"},{"value":8050,"category":"Industrial Applications and Services","label":"services-nursing & personal care facilities"},{"value":8051,"category":"Industrial Applications and Services","label":"services-skilled nursing care facilities"},{"value":8060,"category":"Industrial Applications and Services","label":"services-hospitals"},{"value":8062,"category":"Industrial Applications and Services","label":"services-general medical & surgical hospitals, nec"},{"value":8071,"category":"Industrial Applications and Services","label":"services-medical laboratories"},{"value":8082,"category":"Industrial Applications and Services","label":"services-home health care services"},{"value":8090,"category":"Industrial Applications and Services","label":"services-misc health & allied services, nec"},{"value":8093,"category":"Industrial Applications and Services","label":"services-specialty outpatient facilities, nec"},{"value":8111,"category":"Office of Trade & Services","label":"services-legal services"},{"value":8200,"category":"Office of Trade & Services","label":"services-educational services"},{"value":8300,"category":"Industrial Applications and Services","label":"services-social services"},{"value":8351,"category":"Office of Trade & Services","label":"services-child day care services"},{"value":8600,"category":"Office of Trade & Services","label":"services-membership organizations"},{"value":8700,"category":"Office of Trade & Services","label":"services-engineering, accounting, research, management"},{"value":8711,"category":"Office of Trade & Services","label":"services-engineering services"},{"value":8731,"category":"Industrial Applications and Services","label":"services-commercial physical & biological research"},{"value":8734,"category":"Industrial Applications and Services","label":"services-testing laboratories"},{"value":8741,"category":"Office of Trade & Services","label":"services-management services"},{"value":8742,"category":"Office of Trade & Services","label":"services-management consulting services"},{"value":8744,"category":"Office of Trade & Services","label":"services-facilities support management services"},{"value":8880,"category":"Office of International Corp Fin","label":"american depositary receipts"},{"value":8888,"category":"Office of International Corp Fin","label":"foreign governments"},{"value":8900,"category":"Office of Trade & Services","label":"services-services, nec"},{"value":9721,"category":"Office of International Corp Fin","label":"international affairs"},{"value":9995,"category":"Office of Real Estate & Construction","label":"non-operating establishments"}];});