| 
									
										
										
										
											2015-12-11 16:55:10 -08:00
										 |  |  | (function (w) { | 
					
						
							|  |  |  |   "use strict"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   var a2b = w.atob; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   function atob(str) { | 
					
						
							|  |  |  |     // normal window
 | 
					
						
							|  |  |  |     if ('function' === typeof a2b) { | 
					
						
							| 
									
										
										
										
											2016-04-09 12:02:37 +02:00
										 |  |  |       return a2b(str); | 
					
						
							| 
									
										
										
										
											2015-12-11 16:55:10 -08:00
										 |  |  |     } | 
					
						
							|  |  |  |     // browserify (web worker)
 | 
					
						
							|  |  |  |     else if ('function' === typeof Buffer) { | 
					
						
							|  |  |  |       return new Buffer(str, 'base64').toString('binary'); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     // ios web worker with base64js
 | 
					
						
							|  |  |  |     else if ('object' === typeof w.base64js) { | 
					
						
							|  |  |  |       // bufferToBinaryString
 | 
					
						
							|  |  |  |       // https://github.com/coolaj86/unibabel-js/blob/master/index.js#L50
 | 
					
						
							|  |  |  |       var buf = w.base64js.b64ToByteArray(str); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       return Array.prototype.map.call(buf, function (ch) { | 
					
						
							|  |  |  |         return String.fromCharCode(ch); | 
					
						
							|  |  |  |       }).join(''); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     // ios web worker without base64js
 | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |       throw new Error("you're probably in an ios webworker. please include use beatgammit's base64-js"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   w.atob = atob; | 
					
						
							|  |  |  | }(window)); |