You are on page 1of 72

Scribd Upload a Document Search Documents Explore

Documents

Books - Fiction Books - Non-fiction Health & Medicine Brochures/Catalogs Government Docs How-To Guides/Manuals Magazines/Newspapers Recipes/Menus School Work + all categories Featured Recent

People

Authors Students Researchers Publishers Government & Nonprofits Businesses Musicians Artists & Designers Teachers + all categories Most Followed Popular Domz de Jesus

Account
o

My Home

o o o o o o o

View Public Profile My Documents My Collections Messages Settings Help Log Out

inShare0

Embed Doc Copy Link Readcast Collections 3 CommentsGo Back

Download

ARMY TM 9-1005319-23&PAIR FORCE TO 11 W35-5-42

EXTERNAL VIEW OF 5.56 MM RIFLE M16A2 1-0

ARMY TM 9-1005319-23&PAIR FORCE TO 11W3-55-42 EXTERNAL VIEW OF 5.56MM CARBINE, M4/M4A1 Change 4 1-0.1/(10.2 blank)

ARMY TM 9-1005319-23&PAIR FORCE TO 11W3-55-42 CHAPTER 1INTRODUCTIONC HAPTER OVERVIEW This chapter contains general information,

equipment description and data, and principles of operation for the M16A2 rifleand M4/M4A1 carbines. Section I. GENERAL INFORMATION1 1 . S C O P E . a.

Type of Manual: Unit and Direct Support Maintenance. b. Model Number and Equipment Name: 5.56mm Rifle M16A2, M4 and M4A1 Carbines.

c. Purpose of Equipment. Provides personnel an offensive/defensive capability to engage targets with small arms fire. 12.MAINTENANC

E FORMS, RECORDS, AND REPORTS . Department of the Army forms and procedures used forequipment maintenance will be those prescribed by DA PAM 738-750,

The Army Maintenance Management System.Air Force users refer to TO 11W-1-10 for applicable forms and records. 13.DESTRUCTION

OF ARMY MATERIEL TO PREVENT ENEMY USE. See TM 750244-7.14.PREPARATION FOR STORAGE OR SHIPMENT. Refer to page 2-70.

Air Force users refer to Special Package Instruction (SPI) 00856-6885. 1-5.OFFICIAL NOMENCLATUR E, NAMES AND DESIGNATIONS. NOMENCLATURE CROSS-

REFERENCE LISTC o m m o n N a m e O f f i c i a l N o m e n c l a t u r e Action Spring........................ ..................................

.........Compression Helical SpringBall Bearing...................... .................................. .............Bearing BallBolt Catch Spring........................ .................................. ...Compression Helical SpringBolt

Carrier Key Tool........................... ............................Ma chine KeyBurst Disconnector............. .................................. ...........Lock-Release LeverCam Clutch Spring........................ ..................................

Helical SpringCarbine........... .................................. ...............................M 4/M4A1 CarbineCharging Handle Assembly.................. ...........................Han

dle AssemblyChange 5 1-1 ARMY TM 9-1005319-23&PAIR FORCE TO 11 W35-5-42 1-5.OFFICIAL NOMENCLATUR E, NAMES AND

DESIGNATIONS (CONT).NOMENC LATURE CROSSREFERENCE LISTC o m m o n N a m e O f f i c i a l N o m e n c l a t u r e

Disconnector Springs...................... ................................C ompression Helical SpringEjector Spring........................ .................................. ........Helical SpringExtractor Spring

Assembly.................. ............................Spri ng AssemblyHammer Spring........................ .................................. .....Torsion Helical SpringLower Receiver Extension..................

.............................Spr ing Receiver HolderMagazine........ .................................. ...............................C artridge MagazineMagazine Catch Spring........................ ...........................Com

pression Helical SpringPeel Washer...................... .................................. ............ShimPistol Grip........................... .................................. ...........Rifle GripPivot Pin Detent........................

.................................. .....Takedown Pin DetentRifle................ .................................. ...............................Ri fle, 5.56mm, M16A2Rifle Barrel Assembly.................. .................................. ..Barrel

AssemblySelector Lever......................... .................................. ......Fire Control SelectorSemiautomat ic Disconnector............. ..............................Lo ck-Release LeverSling.................

.................................. ..............................S mall Arms SlingTrigger Spring........................ .................................. ........Torsion Helical SpringUpper Receiver.................... ..................................

..........Upper Cartridge Receiver 1-6.REPORTING EQUIPMENT IMPROVEMENT RECOMMENDATI ONS (EIR). If your M16A2 rifle needsimprovement, let us know. Send us

an EIR. You, the user, are the only one who can tell us what you dont like about yourequipment. Let us know why you dont like the design.Army users submit SF 368 (Product Quality

Deficiency Report) to: Commander, U.S. Army Armament Research,Developme nt and Engineering Center, ATTN: AMSTA-AR-QAW (R)/Customer Feedback Center, Rock Island, IL

61299-7300.Air Force users submit Materiel Deficiency Report (MDR) to: DIR MAT MGT ROBINS AFB GA//MMIBTC// and ProductQuality Deficiency Report to: DIR MAT MGT

ROBINS AFB GA//MMQA// IAW Technical Order 0035D-54.A reply will be sent to you. 1-7.CORROSION PREVENTION AND CONTROL (CPC).

CPC of Army materiel is a continuing concern. It isimportant that any corrosion problems with this item be reported so that the problem can be corrected and improvementscan be

made to prevent the problem in future items,While corrosion is typically associated with rusting of metals, it can also include deterioration of other materials such asrubber and plastic.

Unusual cracking, softening, swelling, or breaking of these materials may be a corrosion problem.12 Change 4 ARMY TM 9-1005319-23&PAIR FORCE TO 11W3-5-

5-42If a corrosion problem is identified, it can be reported using Standard Form 368, Product Quality Deficiency Report. Use ofkey words such as "corrosion", "rust", " deterioration", or

"cracking" will assure that the information is identified as a CPCproblem.Army users submit Product Quality Deficiency Report (SF 368) to:CommanderU.S. Army Armament

Research, Development and Engineering CenterATTN: AMSTA-AR-QAW (R)Rock Island, IL 61299-7300Air Force users submit Materiel Deficiency Report (MDR) to:DIR MAT

MGTATTN: MMIBTCRobins AFB, GAand Product Quality Deficiency Report to:DIR MAT MGTATTN: MMQARobins AFB, GA Section II. EQUIPMENT

DESCRIPTION AND DATA18.EQUIPMENT CHARACTERISTI CS, CAPABILITIES, AND FEATURES.a.Char acteristics.(1) Light weight

(4) Magazine-fed (2) Air-cooled (5) Semiautomatic or burst fire (3) Gas-operated b.Capabilities.

Provides personnel an offensive/defensive capability to engage targets with direct small arms fire. c.Features. (1)

Receivers are made of light-weight aluminum alloys; however, the safety , durability, and function of the riflesare in no way reduced. The portability and logistical values are

greatly increased, particularly when air transport is used. (2) The bolt locking action is one of the mechanical features of the rifle. The bolt assembly and barrel extensioncontain

locking lugs which engage and lock the bolt assembly firmly in the barrel extension. The initial force of theexplosion of the cartridge is absorbed by the barrel, barrel extension, and bolt

assembly.Change 4 1-3 ARMY TM 9-1005319-23&PAIR FORCE TO 1 1W35-5-42 1-8.EQUIPMENT CHARACTERISTI CS,

CAPABILITIES, AND FEATURES (CONT).(3) The trigger guard is easily adaptable to winter operations. A spring-loaded retaining pin is depressed to allowready access to

the trigger when wearing arctic mittens. (4) The ejection port cover prevents dirt or sand from getting into the ejection port. The ejection port cover mustbe closed

during periods when firing is not anticipated. It opens automatically by the forward or rearward movement of thebolt carrier assembly. 1-9.LOCATION AND DESCRIPTION OF

MAJOR COMPONENTS.(A )MAGAZINE . 30 cartridge capacity. (B)SLING . The sling is adjustable and provides a means to carry the weapon.

(C)BOLT CARRIER ASSEMBLY . Carries bolt assembly to chamber and fires the weapon. Contains the firing pin,cartridge extractor, bolt assembly, cartridge

ejector, and bolt cam pin. (D)CHARGING HANDLE ASSEMBLY . Provides a means of charging the weapon. (E)M16A2 UPPER RECEIVER AND

BARREL ASSEMBLY . Upper receiver contains rear sight assembly, ejectionport, ejection port cover, and a housing for the key and bolt carrier assembly and bolt

assembly. Rifle barrelassembly is aircooled, contains compensator and front sight assembly, and holds the two handguard assembliesand the sling swivel.

(F)LOWER RECEIVER AND BUTTSTOCK ASSEMBLY . Lower receiver contains the trigger assembly, sear,hammer assembly, selector lever, rifle grip, bolt

catch, and buttstock assembly. The buttstock assembly housesthe action spring, buffer assembly, and extension assembly. (G)M4/M4A1 CARRYING HANDLE

. Provides a means of carrying carbine.(H) M4/M4A1 UPPER RECEIVER AND BARREL ASSEMBLY . Upper receiver contains, ejection port, ejection portcover, a housing

for key and bolt carrier assembly and bolt assembly, and mounting surface for the carryinghandle assembly. Carbine barrel assembly is air-cooled, contains compensator and front sight assembly,

andholds the two handguard assemblies and the sling swivel.1-4 Change 4

of 325

Leave a Comment
00d79bbd1b53de

You must be logged in to leave a comment. Submit Characters: 400

iman_zahari4965 nice post mannn. really appreciate it! reply11 / 29 / 2009 Lord Tyriel Yes this is very interesting to those interested in guns and machine guns, etc. Believe me its fun. reply06 / 20 / 2008 c9ari Nice reply06 / 20 / 2008
00d79bbd1b53de json

You must be logged in to leave a comment. Submit Characters: ...

M16 MAINTENANCE MANUAL


This is the M16's time to shine, Its the manual for the M16 Rifle. you know, the weapon that the US and Canadian Military use on a daily basis. Check this out. Download or Print 45,100 Reads Info and Rating Category: Uncategorized. Rating: (10 Ratings) Upload Date: 06/14/2008 Copyright: Attribution Non-commercial Military Manual maintenance m16 Tags: HistoryMilitaryWar TechnologyMilitary Flag document for inapproriate content Uploaded by

Lord Tyriel Follow Download


Embed Doc Copy Link Add To Collection Comments Readcast Share

Share on Scribd: Readcast

Search TIP Press Ctrl-FF to quickly search anywhere in the document. Search Search History: Searching... Result 00 of 00 00 results for result for p. More from This User Related Documents

More From This User

1 p. Men of Harlech The 32nd Brigade Unit Governor Generals Horse Guards March Score. Enjoy.

262 p. Army Study Guide I have to say this is the best guide to the Military that a civilian could ev...

1 p. L's Theme B (Guitar) This is the second edition of L's normal theme. Enjoy! *Note* This is only a ... Next

Send me the Scribd Newsletter, and occasional account related communications.

Upload a Document Search Documents


Follow Us! scribd.com/scribd twitter.com/scribd facebook.com/scribd About Press Blog Partners Scribd 101 Web Stuff Support FAQ Developers / API Jobs Terms Copyright Privacy

Copyright 2012 Scribd Inc. Language: English scribd. scribd. scribd. scribd. scribd. scribd. scribd. ');}}};(function(){var _map={};easyXDM.Fn={set:function(name,fn){_map[name]=fn;},get:function(name,del){var fn=_map[name];if(del){delete _map[name];} return fn;}};}());easyXDM.Socket=function(config){var stack=chainStack(prepareTransportStack(config).concat([{incoming:function(message,origin){c onfig.onMessage(message,origin);},callback:function(success){if(config.onReady){config.onRe ady(success);}}}])),recipient=getLocation(config.remote);this.destroy=function(){stack.destroy( );};this.postMessage=function(message){stack.outgoing(message,recipient);};stack.init();};easy XDM.Rpc=function(config,jsonRpcConfig){if(jsonRpcConfig.local){for(var method in jsonRpcConfig.local){if(jsonRpcConfig.local.hasOwnProperty(method)){var member=jsonRpcConfig.local[method];if(typeof member==="function"){jsonRpcConfig.local[method]={method:member};}}}} var stack=chainStack(prepareTransportStack(config).concat([new easyXDM.stack.RpcBehavior(this,jsonRpcConfig),{callback:function(success){if(config.onRead y){config.onReady(success);}}}]));this.destroy=function(){stack.destroy();};stack.init();};easyX DM.stack.PostMessageTransport=function(config){var pub,frame,callerWindow,targetOrigin;function _getOrigin(event){if(event.origin){return event.origin;} if(event.uri){return getLocation(event.uri);} if(event.domain){return location.protocol+"//"+event.domain;} throw"Unable to retrieve the origin of the event";}

function _window_onMessage(event){var origin=_getOrigin(event);if(origin==targetOrigin&&event.data.substring(0,config.channel.lengt h+1)==config.channel+" "){pub.up.incoming(event.data.substring(config.channel.length+1),origin);}} return(pub={outgoing:function(message,domain,fn){callerWindow.postMessage(config.channel +" "+message,domain||targetOrigin);fn();},destroy:function(){un(window,"message",_window_on Message);if(frame){callerWindow=null;frame.parentNode.removeChild(frame);frame=null;}},in it:function(){targetOrigin=getLocation(config.remote);if(config.isHost){on(window,"message",f unction waitForReady(event){if(event.data==config.channel+"ready"){callerWindow=frame.contentWindow;un(window,"message",waitForReady);on(windo w,"message",_window_onMessage);setTimeout(function(){pub.up.callback(true);},0);}});apply( config.props,{src:appendQueryParameters(config.remote,{xdm_e:location.protocol+"//"+locatio n.host,xdm_c:config.channel,xdm_p:1})});frame=createFrame(config);} else{on(window,"message",_window_onMessage);callerWindow=window.parent;callerWindow .postMessage(config.channel+"ready",targetOrigin);setTimeout(function(){pub.up.callback(true);},0);}}});};easyXDM.stack.Ni xTransport=function(config){var pub,frame,send,targetOrigin,proxy;return(pub={outgoing:function(message,domain,fn){send(me ssage);fn();},destroy:function(){proxy=null;if(frame){frame.parentNode.removeChild(frame);fra me=null;}},init:function(){targetOrigin=getLocation(config.remote);if(config.isHost){try{if(!is HostMethod(window,"GetNixProxy")){window.execScript('Class NixProxy\n'+' Private m_parent, m_child, m_Auth\n'+'\n'+' Public Sub SetParent(obj, auth)\n'+' If isEmpty(m_Auth) Then m_Auth = auth\n'+' SET m_parent = obj\n'+' End Sub\n'+' Public Sub SetChild(obj)\n'+' SET m_child = obj\n'+' m_parent.ready()\n'+' End Sub\n'+'\n'+' Public Sub SendToParent(data, auth)\n'+' If m_Auth = auth Then m_parent.send(CStr(data))\n'+' End Sub\n'+' Public Sub SendToChild(data, auth)\n'+' If m_Auth = auth Then m_child.send(CStr(data))\n'+' End Sub\n'+'End Class\n'+'Function GetNixProxy()\n'+' Set GetNixProxy = New NixProxy\n'+'End Function\n','vbscript');} proxy=GetNixProxy();proxy.SetParent({send:function(msg){pub.up.incoming(msg,targetOrigin) ;},ready:function(){setTimeout(function(){pub.up.callback(true);},0);}},config.secret);send=fun ction(msg){proxy.SendToChild(msg,config.secret);};} catch(e){throw new Error("Could not set up VBScript NixProxy:"+e.message);} apply(config.props,{src:appendQueryParameters(config.remote,{xdm_e:location.protocol+"//"+l ocation.host,xdm_c:config.channel,xdm_s:config.secret,xdm_p:3})});frame=createFrame(config );frame.contentWindow.opener=proxy;} else{try{proxy=window.opener;} catch(e){throw new Error("Cannot access window.opener");} proxy.SetChild({send:function(msg){global.setTimeout(function(){pub.up.incoming(msg,target Origin);},0);}});send=function(msg){proxy.SendToParent(msg,config.secret);};setTimeout(func tion(){pub.up.callback(true);},0);}}});};easyXDM.stack.NameTransport=function(config){var pub;var isHost,callerWindow,remoteWindow,readyCount,callback,remoteOrigin,remoteUrl;function _sendMessage(message){var url=config.remoteHelper+(isHost?("#_3"+encodeURIComponent(remoteUrl+"#"+config.channe l)):("#_2"+config.channel));callerWindow.contentWindow.sendMessage(message,url);} function _onReady(){if(isHost){if(++readyCount===2||!isHost){pub.up.callback(true);}}

else{_sendMessage("ready");pub.up.callback(true);}} function _onMessage(message){pub.up.incoming(message,remoteOrigin);} function _onLoad(){if(callback){setTimeout(function(){callback(true);},0);}} return(pub={outgoing:function(message,domain,fn){callback=fn;_sendMessage(message);},dest roy:function(){callerWindow.parentNode.removeChild(callerWindow);callerWindow=null;if(is Host){remoteWindow.parentNode.removeChild(remoteWindow);remoteWindow=null;}},init:fu nction(){isHost=config.isHost;readyCount=0;remoteOrigin=getLocation(config.remote);config.l ocal=resolveUrl(config.local);if(isHost){easyXDM.Fn.set(config.channel,function(message){if(i sHost&&message==="ready"){easyXDM.Fn.set(config.channel,_onMessage);_onReady();}});re moteUrl=appendQueryParameters(config.remote,{xdm_e:config.local,xdm_c:config.channel,xd m_p:2});apply(config.props,{src:remoteUrl+'#'+config.channel,name:config.channel});remoteW indow=createFrame(config);} else{config.remoteHelper=config.remote;easyXDM.Fn.set(config.channel,_onMessage);} callerWindow=createFrame({props:{src:config.local+"#_4"+config.channel},onLoad:function() {un(callerWindow,"load",callerWindow.loadFn);easyXDM.Fn.set(config.channel+"_load",_onL oad);_onReady();}});}});};easyXDM.stack.HashTransport=function(config){var pub;var me=this,isHost,_timer,pollInterval,_lastMsg,_msgNr,_listenerWindow,_callerWindow;var usePolling,useParent,useResize,_remoteOrigin;function _sendMessage(message){if(!_callerWindow){return;} var url=config.remote+"#"+(_msgNr++)+"_"+message;if(isHost||!useParent){_callerWindow.conten tWindow.location=url;if(useResize){_callerWindow.width=_callerWindow.width>75?50:100;}} else{_callerWindow.location=url;}} function _handleHash(hash){_lastMsg=hash;pub.up.incoming(_lastMsg.substring(_lastMsg.indexOf("_") +1),_remoteOrigin);} function _onResize(){_handleHash(_listenerWindow.location.hash);} function _pollHash(){if(_listenerWindow.location.hash&&_listenerWindow.location.hash!=_lastMsg){_ handleHash(_listenerWindow.location.hash);}} function _attachListeners(){if(usePolling){_timer=setInterval(_pollHash,pollInterval);} else{on(_listenerWindow,"resize",_onResize);}} return(pub={outgoing:function(message,domain){_sendMessage(message);},destroy:function(){ if(usePolling){window.clearInterval(_timer);} else if(_listenerWindow){un(_listenerWindow,"resize",_pollHash);} if(isHost||!useParent){_callerWindow.parentNode.removeChild(_callerWindow);} _callerWindow=null;},init:function(){isHost=config.isHost;pollInterval=config.interval;_lastMs g="#"+config.channel;_msgNr=0;usePolling=config.usePolling;useParent=config.useParent;use Resize=config.useResize;_remoteOrigin=getLocation(config.remote);if(!isHost&&useParent){_l istenerWindow=window;_callerWindow=parent;_attachListeners();pub.up.callback(true);} else{apply(config,{props:{src:(isHost?config.remote:config.remote+"#"+config.channel),name:( isHost?"local_":"remote_")+config.channel},onLoad:(isHost&&useParent||!isHost)?(function(){ _listenerWindow=window;_attachListeners();pub.up.callback(true);}):null});_callerWindow=cre ateFrame(config);if(isHost&&!useParent){var tries=0,max=config.delay/50;(function getRef(){if(++tries>max){throw new Error("Unable to reference listenerwindow");} if(_listenerWindow){return;} try{_listenerWindow=_callerWindow.contentWindow.frames["remote_"+config.channel];windo w.clearTimeout(_timer);_attachListeners();pub.up.callback(true);return;} catch(ex){setTimeout(getRef,50);}}());}}}});};easyXDM.stack.ReliableBehavior=function(conf

ig){var pub,timer,current,next,sendId=0,sendCount=0,maxTries=config.tries||5,timeout=config.timeout,r eceiveId=0,callback;return(pub={incoming:function(message,origin){var indexOf=message.indexOf("_"),ack=parseInt(message.substring(0,indexOf),10),id;message=mes sage.substring(indexOf+1);indexOf=message.indexOf("_");id=parseInt(message.substring(0,inde xOf),10);indexOf=message.indexOf("_");message=message.substring(indexOf+1);if(timer&&ac k===sendId){window.clearTimeout(timer);timer=null;if(callback){setTimeout(function(){callba ck(true);},0);}} if(id!==0){if(id!==receiveId){receiveId=id;message=message.substring(id.length+1);pub.down. outgoing(id+"_0_ack",origin);setTimeout(function(){pub.up.incoming(message,origin);},config. timeout/2);} else{pub.down.outgoing(id+"_0_ack",origin);}}},outgoing:function(message,origin,fn){callback =fn;sendCount=0;current={data:receiveId+"_"+(++sendId)+"_"+message,origin:origin};(functio n send(){timer=null;if(++sendCount>maxTries){if(callback){setTimeout(function(){callback(false );},0);}} else{pub.down.outgoing(current.data,current.origin);timer=setTimeout(send,config.timeout);}}() );},destroy:function(){if(timer){window.clearInterval(timer);} pub.down.destroy();}});};easyXDM.stack.QueueBehavior=function(config){var pub,queue=[],waiting=true,incoming="",destroying,maxLength=0;function dispatch(){if(waiting||queue.length===0||destroying){return;} waiting=true;var message=queue.shift();pub.down.outgoing(message.data,message.origin,function(success){waiti ng=false;if(message.callback){setTimeout(function(){message.callback(success);},0);} dispatch();});} return(pub={init:function(){if(undef(config)){config={};} maxLength=config.maxLength?config.maxLength:0;pub.down.init();},callback:function(success ){waiting=false;dispatch();pub.up.callback(success);},incoming:function(message,origin){var indexOf=message.indexOf("_"),seq=parseInt(message.substring(0,indexOf),10);incoming+=mes sage.substring(indexOf+1);if(seq===0){if(config.encode){incoming=decodeURIComponent(inc oming);} pub.up.incoming(incoming,origin);incoming="";}},outgoing:function(message,origin,fn){if(conf ig.encode){message=encodeURIComponent(message);} var fragments=[],fragment;if(maxLength){while(message.length!==0){fragment=message.substring( 0,maxLength);message=message.substring(fragment.length);fragments.push(fragment);}} else{fragments.push(message);} while((fragment=fragments.shift())){queue.push({data:fragments.length+"_"+fragment,origin:or igin,callback:fragments.length===0?fn:null});} dispatch();},destroy:function(){destroying=true;pub.down.destroy();}});};easyXDM.stack.Verif yBehavior=function(config){var pub,mySecret,theirSecret,verified=false;function startVerification(){mySecret=Math.random().toString(16).substring(2);pub.down.outgoing(myS ecret);} return(pub={incoming:function(message,origin){var indexOf=message.indexOf("_");if(indexOf===1){if(message===mySecret){pub.up.callback(true);} else if(!theirSecret){theirSecret=message;if(!config.initiate){startVerification();} pub.down.outgoing(message);}} else{if(message.substring(0,indexOf)===theirSecret){pub.up.incoming(message.substring(index Of+1),origin);}}},outgoing:function(message,origin,fn){pub.down.outgoing(mySecret+"_"+mes

sage,origin,fn);},callback:function(success){if(config.initiate){startVerification();}}});};easyXD M.stack.RpcBehavior=function(proxy,config){var pub,serializer=config.serializer||getJSON();var _callbackCounter=0,_callbacks={};function _send(data){data.jsonrpc="2.0";pub.down.outgoing(serializer.stringify(data));} function _createMethod(definition,method){var slice=Array.prototype.slice;return function(){var l=arguments.length,callback,message={method:method};if(l>0&&typeof arguments[l1]==="function"){if(l>1&&typeof arguments[l2]==="function"){callback={success:arguments[l-2],error:arguments[l1]};message.params=slice.call(arguments,0,l-2);} else{callback={success:arguments[l1]};message.params=slice.call(arguments,0,l-1);} _callbacks[""+(++_callbackCounter)]=callback;message.id=_callbackCounter;} else{message.params=slice.call(arguments,0);} _send(message);};} function _executeMethod(method,id,fn,params){if(!fn){if(id){_send({id:id,error:{code:32601,message:"Procedure not found."}});} return;} var used=false,success,error;if(id){success=function(result){if(used){return;} used=true;_send({id:id,result:result});};error=function(message){if(used){return;} used=true;_send({id:id,error:{code:-32099,message:"Application error: "+message}});};} else{success=error=emptyFn;} try{var result=fn.method.apply(fn.scope,params.concat([success,error]));if(!undef(result)){success(result );}} catch(ex1){error(ex1.message);}} return(pub={incoming:function(message,origin){var data=serializer.parse(message);if(data.method){if(config.handle){config.handle(data,_send);} else{_executeMethod(data.method,data.id,config.local[data.method],data.params);}} else{var callback=_callbacks[data.id];if(data.error){if(callback.error){callback.error(data.error);}} else if(callback.success){callback.success(data.result);} delete _callbacks[data.id];}},init:function(){if(config.remote){for(var method in config.remote){if(config.remote.hasOwnProperty(method)){proxy[method]=_createMethod(con fig.remote[method],method);}}} pub.down.init();},destroy:function(){for(var method in config.remote){if(config.remote.hasOwnProperty(method)&&proxy.hasOwnProperty(method)){ delete proxy[method];}} pub.down.destroy();}});};})(window,document,location,window.setTimeout,decodeURICompon ent,encodeURIComponent); Title:
Presentations Spreadsheets Choose a Category Choose a Category

Category:

Choose a Category

Tags:

(separate with commas)

Description: Save

You might also like