grex_naeem
Version:
Client for Rexster Graph Server
2 lines • 142 kB
JavaScript
!function(e){if("function"==typeof bootstrap)bootstrap("grex",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeGRex=e}else"undefined"!=typeof window?window.gRex=e():global.gRex=e()}(function(){var define,ses,bootstrap,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var grex=require("./src/main.js");module.exports=grex},{"./src/main.js":6}],2:[function(require,module,exports){var process=require("__browserify_process");!function(definition){if(typeof bootstrap==="function"){bootstrap("promise",definition)}else if(typeof exports==="object"){module.exports=definition()}else if(typeof define==="function"&&define.amd){define(definition)}else if(typeof ses!=="undefined"){if(!ses.ok()){return}else{ses.makeQ=definition}}else{Q=definition()}}(function(){"use strict";var hasStacks=false;try{throw new Error}catch(e){hasStacks=!!e.stack}var qStartingLine=captureLine();var qFileName;var noop=function(){};var nextTick=function(){var head={task:void 0,next:null};var tail=head;var flushing=false;var requestTick=void 0;var isNodeJS=false;function flush(){while(head.next){head=head.next;var task=head.task;head.task=void 0;var domain=head.domain;if(domain){head.domain=void 0;domain.enter()}try{task()}catch(e){if(isNodeJS){if(domain){domain.exit()}setTimeout(flush,0);if(domain){domain.enter()}throw e}else{setTimeout(function(){throw e},0)}}if(domain){domain.exit()}}flushing=false}nextTick=function(task){tail=tail.next={task:task,domain:isNodeJS&&process.domain,next:null};if(!flushing){flushing=true;requestTick()}};if(typeof process!=="undefined"&&process.nextTick){isNodeJS=true;requestTick=function(){process.nextTick(flush)}}else if(typeof setImmediate==="function"){if(typeof window!=="undefined"){requestTick=setImmediate.bind(window,flush)}else{requestTick=function(){setImmediate(flush)}}}else if(typeof MessageChannel!=="undefined"){var channel=new MessageChannel;channel.port1.onmessage=function(){requestTick=requestPortTick;channel.port1.onmessage=flush;flush()};var requestPortTick=function(){channel.port2.postMessage(0)};requestTick=function(){setTimeout(flush,0);requestPortTick()}}else{requestTick=function(){setTimeout(flush,0)}}return nextTick}();var call=Function.call;function uncurryThis(f){return function(){return call.apply(f,arguments)}}var array_slice=uncurryThis(Array.prototype.slice);var array_reduce=uncurryThis(Array.prototype.reduce||function(callback,basis){var index=0,length=this.length;if(arguments.length===1){do{if(index in this){basis=this[index++];break}if(++index>=length){throw new TypeError}}while(1)}for(;index<length;index++){if(index in this){basis=callback(basis,this[index],index)}}return basis});var array_indexOf=uncurryThis(Array.prototype.indexOf||function(value){for(var i=0;i<this.length;i++){if(this[i]===value){return i}}return-1});var array_map=uncurryThis(Array.prototype.map||function(callback,thisp){var self=this;var collect=[];array_reduce(self,function(undefined,value,index){collect.push(callback.call(thisp,value,index,self))},void 0);return collect});var object_create=Object.create||function(prototype){function Type(){}Type.prototype=prototype;return new Type};var object_hasOwnProperty=uncurryThis(Object.prototype.hasOwnProperty);var object_keys=Object.keys||function(object){var keys=[];for(var key in object){if(object_hasOwnProperty(object,key)){keys.push(key)}}return keys};var object_toString=uncurryThis(Object.prototype.toString);function isObject(value){return value===Object(value)}function isStopIteration(exception){return object_toString(exception)==="[object StopIteration]"||exception instanceof QReturnValue}var QReturnValue;if(typeof ReturnValue!=="undefined"){QReturnValue=ReturnValue}else{QReturnValue=function(value){this.value=value}}var hasES6Generators;try{new Function("(function* (){ yield 1; })");hasES6Generators=true}catch(e){hasES6Generators=false}var STACK_JUMP_SEPARATOR="From previous event:";function makeStackTraceLong(error,promise){if(hasStacks&&promise.stack&&typeof error==="object"&&error!==null&&error.stack&&error.stack.indexOf(STACK_JUMP_SEPARATOR)===-1){var stacks=[];for(var p=promise;!!p;p=p.source){if(p.stack){stacks.unshift(p.stack)}}stacks.unshift(error.stack);var concatedStacks=stacks.join("\n"+STACK_JUMP_SEPARATOR+"\n");error.stack=filterStackString(concatedStacks)}}function filterStackString(stackString){var lines=stackString.split("\n");var desiredLines=[];for(var i=0;i<lines.length;++i){var line=lines[i];if(!isInternalFrame(line)&&!isNodeFrame(line)&&line){desiredLines.push(line)}}return desiredLines.join("\n")}function isNodeFrame(stackLine){return stackLine.indexOf("(module.js:")!==-1||stackLine.indexOf("(node.js:")!==-1}function getFileNameAndLineNumber(stackLine){var attempt1=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(stackLine);if(attempt1){return[attempt1[1],Number(attempt1[2])]}var attempt2=/at ([^ ]+):(\d+):(?:\d+)$/.exec(stackLine);if(attempt2){return[attempt2[1],Number(attempt2[2])]}var attempt3=/.*@(.+):(\d+)$/.exec(stackLine);if(attempt3){return[attempt3[1],Number(attempt3[2])]}}function isInternalFrame(stackLine){var fileNameAndLineNumber=getFileNameAndLineNumber(stackLine);if(!fileNameAndLineNumber){return false}var fileName=fileNameAndLineNumber[0];var lineNumber=fileNameAndLineNumber[1];return fileName===qFileName&&lineNumber>=qStartingLine&&lineNumber<=qEndingLine}function captureLine(){if(!hasStacks){return}try{throw new Error}catch(e){var lines=e.stack.split("\n");var firstLine=lines[0].indexOf("@")>0?lines[1]:lines[2];var fileNameAndLineNumber=getFileNameAndLineNumber(firstLine);if(!fileNameAndLineNumber){return}qFileName=fileNameAndLineNumber[0];return fileNameAndLineNumber[1]}}function deprecate(callback,name,alternative){return function(){if(typeof console!=="undefined"&&typeof console.warn==="function"){console.warn(name+" is deprecated, use "+alternative+" instead.",new Error("").stack)}return callback.apply(callback,arguments)}}function Q(value){if(isPromise(value)){return value}if(isPromiseAlike(value)){return coerce(value)}else{return fulfill(value)}}Q.resolve=Q;Q.nextTick=nextTick;Q.longStackSupport=false;Q.defer=defer;function defer(){var messages=[],progressListeners=[],resolvedPromise;var deferred=object_create(defer.prototype);var promise=object_create(Promise.prototype);promise.promiseDispatch=function(resolve,op,operands){var args=array_slice(arguments);if(messages){messages.push(args);if(op==="when"&&operands[1]){progressListeners.push(operands[1])}}else{nextTick(function(){resolvedPromise.promiseDispatch.apply(resolvedPromise,args)})}};promise.valueOf=deprecate(function(){if(messages){return promise}var nearerValue=nearer(resolvedPromise);if(isPromise(nearerValue)){resolvedPromise=nearerValue}return nearerValue},"valueOf","inspect");promise.inspect=function(){if(!resolvedPromise){return{state:"pending"}}return resolvedPromise.inspect()};if(Q.longStackSupport&&hasStacks){try{throw new Error}catch(e){promise.stack=e.stack.substring(e.stack.indexOf("\n")+1)}}function become(newPromise){resolvedPromise=newPromise;promise.source=newPromise;array_reduce(messages,function(undefined,message){nextTick(function(){newPromise.promiseDispatch.apply(newPromise,message)})},void 0);messages=void 0;progressListeners=void 0}deferred.promise=promise;deferred.resolve=function(value){if(resolvedPromise){return}become(Q(value))};deferred.fulfill=function(value){if(resolvedPromise){return}become(fulfill(value))};deferred.reject=function(reason){if(resolvedPromise){return}become(reject(reason))};deferred.notify=function(progress){if(resolvedPromise){return}array_reduce(progressListeners,function(undefined,progressListener){nextTick(function(){progressListener(progress)})},void 0)};return deferred}defer.prototype.makeNodeResolver=function(){var self=this;return function(error,value){if(error){self.reject(error)}else if(arguments.length>2){self.resolve(array_slice(arguments,1))}else{self.resolve(value)}}};Q.promise=promise;function promise(resolver){if(typeof resolver!=="function"){throw new TypeError("resolver must be a function.")}var deferred=defer();try{resolver(deferred.resolve,deferred.reject,deferred.notify)}catch(reason){deferred.reject(reason)}return deferred.promise}Q.passByCopy=function(object){return object};Promise.prototype.passByCopy=function(){return this};Q.join=function(x,y){return Q(x).join(y)};Promise.prototype.join=function(that){return Q([this,that]).spread(function(x,y){if(x===y){return x}else{throw new Error("Can't join: not the same: "+x+" "+y)}})};Q.race=race;function race(answerPs){return promise(function(resolve,reject){for(var i=0,len=answerPs.length;i<len;i++){Q(answerPs[i]).then(resolve,reject)}})}Promise.prototype.race=function(){return this.then(Q.race)};Q.makePromise=Promise;function Promise(descriptor,fallback,inspect){if(fallback===void 0){fallback=function(op){return reject(new Error("Promise does not support operation: "+op))}}if(inspect===void 0){inspect=function(){return{state:"unknown"}}}var promise=object_create(Promise.prototype);promise.promiseDispatch=function(resolve,op,args){var result;try{if(descriptor[op]){result=descriptor[op].apply(promise,args)}else{result=fallback.call(promise,op,args)}}catch(exception){result=reject(exception)}if(resolve){resolve(result)}};promise.inspect=inspect;if(inspect){var inspected=inspect();if(inspected.state==="rejected"){promise.exception=inspected.reason}promise.valueOf=deprecate(function(){var inspected=inspect();if(inspected.state==="pending"||inspected.state==="rejected"){return promise}return inspected.value})}return promise}Promise.prototype.toString=function(){return"[object Promise]"};Promise.prototype.then=function(fulfilled,rejected,progressed){var self=this;var deferred=defer();var done=false;function _fulfilled(value){try{return typeof fulfilled==="function"?fulfilled(value):value}catch(exception){return reject(exception)}}function _rejected(exception){if(typeof rejected==="function"){makeStackTraceLong(exception,self);try{return rejected(exception)}catch(newException){return reject(newException)}}return reject(exception)}function _progressed(value){return typeof progressed==="function"?progressed(value):value}nextTick(function(){self.promiseDispatch(function(value){if(done){return}done=true;deferred.resolve(_fulfilled(value))},"when",[function(exception){if(done){return}done=true;deferred.resolve(_rejected(exception))}])});self.promiseDispatch(void 0,"when",[void 0,function(value){var newValue;var threw=false;try{newValue=_progressed(value)}catch(e){threw=true;if(Q.onerror){Q.onerror(e)}else{throw e}}if(!threw){deferred.notify(newValue)}}]);return deferred.promise};Q.when=when;function when(value,fulfilled,rejected,progressed){return Q(value).then(fulfilled,rejected,progressed)}Promise.prototype.thenResolve=function(value){return this.then(function(){return value})};Q.thenResolve=function(promise,value){return Q(promise).thenResolve(value)};Promise.prototype.thenReject=function(reason){return this.then(function(){throw reason})};Q.thenReject=function(promise,reason){return Q(promise).thenReject(reason)};Q.nearer=nearer;function nearer(value){if(isPromise(value)){var inspected=value.inspect();if(inspected.state==="fulfilled"){return inspected.value}}return value}Q.isPromise=isPromise;function isPromise(object){return isObject(object)&&typeof object.promiseDispatch==="function"&&typeof object.inspect==="function"}Q.isPromiseAlike=isPromiseAlike;function isPromiseAlike(object){return isObject(object)&&typeof object.then==="function"}Q.isPending=isPending;function isPending(object){return isPromise(object)&&object.inspect().state==="pending"}Promise.prototype.isPending=function(){return this.inspect().state==="pending"};Q.isFulfilled=isFulfilled;function isFulfilled(object){return!isPromise(object)||object.inspect().state==="fulfilled"}Promise.prototype.isFulfilled=function(){return this.inspect().state==="fulfilled"};Q.isRejected=isRejected;function isRejected(object){return isPromise(object)&&object.inspect().state==="rejected"}Promise.prototype.isRejected=function(){return this.inspect().state==="rejected"};var unhandledReasons=[];var unhandledRejections=[];var unhandledReasonsDisplayed=false;var trackUnhandledRejections=true;function displayUnhandledReasons(){if(!unhandledReasonsDisplayed&&typeof window!=="undefined"&&!window.Touch&&window.console){console.warn("[Q] Unhandled rejection reasons (should be empty):",unhandledReasons)}unhandledReasonsDisplayed=true}function logUnhandledReasons(){for(var i=0;i<unhandledReasons.length;i++){var reason=unhandledReasons[i];console.warn("Unhandled rejection reason:",reason)}}function resetUnhandledRejections(){unhandledReasons.length=0;unhandledRejections.length=0;unhandledReasonsDisplayed=false;if(!trackUnhandledRejections){trackUnhandledRejections=true;if(typeof process!=="undefined"&&process.on){process.on("exit",logUnhandledReasons)}}}function trackRejection(promise,reason){if(!trackUnhandledRejections){return}unhandledRejections.push(promise);if(reason&&typeof reason.stack!=="undefined"){unhandledReasons.push(reason.stack)}else{unhandledReasons.push("(no stack) "+reason)}displayUnhandledReasons()}function untrackRejection(promise){if(!trackUnhandledRejections){return}var at=array_indexOf(unhandledRejections,promise);if(at!==-1){unhandledRejections.splice(at,1);unhandledReasons.splice(at,1)}}Q.resetUnhandledRejections=resetUnhandledRejections;Q.getUnhandledReasons=function(){return unhandledReasons.slice()};Q.stopUnhandledRejectionTracking=function(){resetUnhandledRejections();if(typeof process!=="undefined"&&process.on){process.removeListener("exit",logUnhandledReasons)}trackUnhandledRejections=false};resetUnhandledRejections();Q.reject=reject;function reject(reason){var rejection=Promise({when:function(rejected){if(rejected){untrackRejection(this)}return rejected?rejected(reason):this}},function fallback(){return this},function inspect(){return{state:"rejected",reason:reason}});trackRejection(rejection,reason);return rejection}Q.fulfill=fulfill;function fulfill(value){return Promise({when:function(){return value},get:function(name){return value[name]},set:function(name,rhs){value[name]=rhs},"delete":function(name){delete value[name]},post:function(name,args){if(name===null||name===void 0){return value.apply(void 0,args)}else{return value[name].apply(value,args)}},apply:function(thisp,args){return value.apply(thisp,args)},keys:function(){return object_keys(value)}},void 0,function inspect(){return{state:"fulfilled",value:value}})}function coerce(promise){var deferred=defer();nextTick(function(){try{promise.then(deferred.resolve,deferred.reject,deferred.notify)}catch(exception){deferred.reject(exception)}});return deferred.promise}Q.master=master;function master(object){return Promise({isDef:function(){}},function fallback(op,args){return dispatch(object,op,args)},function(){return Q(object).inspect()})}Q.spread=spread;function spread(value,fulfilled,rejected){return Q(value).spread(fulfilled,rejected)}Promise.prototype.spread=function(fulfilled,rejected){return this.all().then(function(array){return fulfilled.apply(void 0,array)},rejected)};Q.async=async;function async(makeGenerator){return function(){function continuer(verb,arg){var result;if(hasES6Generators){try{result=generator[verb](arg)}catch(exception){return reject(exception)}if(result.done){return result.value}else{return when(result.value,callback,errback)}}else{try{result=generator[verb](arg)}catch(exception){if(isStopIteration(exception)){return exception.value}else{return reject(exception)}}return when(result,callback,errback)}}var generator=makeGenerator.apply(this,arguments);var callback=continuer.bind(continuer,"next");var errback=continuer.bind(continuer,"throw");return callback()}}Q.spawn=spawn;function spawn(makeGenerator){Q.done(Q.async(makeGenerator)())}Q["return"]=_return;function _return(value){throw new QReturnValue(value)}Q.promised=promised;function promised(callback){return function(){return spread([this,all(arguments)],function(self,args){return callback.apply(self,args)})}}Q.dispatch=dispatch;function dispatch(object,op,args){return Q(object).dispatch(op,args)}Promise.prototype.dispatch=function(op,args){var self=this;var deferred=defer();nextTick(function(){self.promiseDispatch(deferred.resolve,op,args)});return deferred.promise};Q.get=function(object,key){return Q(object).dispatch("get",[key])};Promise.prototype.get=function(key){return this.dispatch("get",[key])};Q.set=function(object,key,value){return Q(object).dispatch("set",[key,value])};Promise.prototype.set=function(key,value){return this.dispatch("set",[key,value])};Q.del=Q["delete"]=function(object,key){return Q(object).dispatch("delete",[key])};Promise.prototype.del=Promise.prototype["delete"]=function(key){return this.dispatch("delete",[key])};Q.mapply=Q.post=function(object,name,args){return Q(object).dispatch("post",[name,args])};Promise.prototype.mapply=Promise.prototype.post=function(name,args){return this.dispatch("post",[name,args])};Q.send=Q.mcall=Q.invoke=function(object,name){return Q(object).dispatch("post",[name,array_slice(arguments,2)])};Promise.prototype.send=Promise.prototype.mcall=Promise.prototype.invoke=function(name){return this.dispatch("post",[name,array_slice(arguments,1)])};Q.fapply=function(object,args){return Q(object).dispatch("apply",[void 0,args])};Promise.prototype.fapply=function(args){return this.dispatch("apply",[void 0,args])};Q["try"]=Q.fcall=function(object){return Q(object).dispatch("apply",[void 0,array_slice(arguments,1)])};Promise.prototype.fcall=function(){return this.dispatch("apply",[void 0,array_slice(arguments)])};Q.fbind=function(object){var promise=Q(object);var args=array_slice(arguments,1);return function fbound(){return promise.dispatch("apply",[this,args.concat(array_slice(arguments))])}};Promise.prototype.fbind=function(){var promise=this;var args=array_slice(arguments);return function fbound(){return promise.dispatch("apply",[this,args.concat(array_slice(arguments))])}};Q.keys=function(object){return Q(object).dispatch("keys",[])};Promise.prototype.keys=function(){return this.dispatch("keys",[])};Q.all=all;function all(promises){return when(promises,function(promises){var countDown=0;var deferred=defer();array_reduce(promises,function(undefined,promise,index){var snapshot;if(isPromise(promise)&&(snapshot=promise.inspect()).state==="fulfilled"){promises[index]=snapshot.value}else{++countDown;when(promise,function(value){promises[index]=value;if(--countDown===0){deferred.resolve(promises)}},deferred.reject,function(progress){deferred.notify({index:index,value:progress})})}},void 0);if(countDown===0){deferred.resolve(promises)}return deferred.promise})}Promise.prototype.all=function(){return all(this)};Q.allResolved=deprecate(allResolved,"allResolved","allSettled");function allResolved(promises){return when(promises,function(promises){promises=array_map(promises,Q);return when(all(array_map(promises,function(promise){return when(promise,noop,noop)})),function(){return promises})})}Promise.prototype.allResolved=function(){return allResolved(this)};Q.allSettled=allSettled;function allSettled(promises){return Q(promises).allSettled()}Promise.prototype.allSettled=function(){return this.then(function(promises){return all(array_map(promises,function(promise){promise=Q(promise);function regardless(){return promise.inspect()}return promise.then(regardless,regardless)}))})};Q.fail=Q["catch"]=function(object,rejected){return Q(object).then(void 0,rejected)};Promise.prototype.fail=Promise.prototype["catch"]=function(rejected){return this.then(void 0,rejected)};Q.progress=progress;function progress(object,progressed){return Q(object).then(void 0,void 0,progressed)}Promise.prototype.progress=function(progressed){return this.then(void 0,void 0,progressed)};Q.fin=Q["finally"]=function(object,callback){return Q(object)["finally"](callback)};Promise.prototype.fin=Promise.prototype["finally"]=function(callback){callback=Q(callback);return this.then(function(value){return callback.fcall().then(function(){return value})},function(reason){return callback.fcall().then(function(){throw reason})})};Q.done=function(object,fulfilled,rejected,progress){return Q(object).done(fulfilled,rejected,progress)};Promise.prototype.done=function(fulfilled,rejected,progress){var onUnhandledError=function(error){nextTick(function(){makeStackTraceLong(error,promise);if(Q.onerror){Q.onerror(error)}else{throw error}})};var promise=fulfilled||rejected||progress?this.then(fulfilled,rejected,progress):this;if(typeof process==="object"&&process&&process.domain){onUnhandledError=process.domain.bind(onUnhandledError)}promise.then(void 0,onUnhandledError)};Q.timeout=function(object,ms,message){return Q(object).timeout(ms,message)};Promise.prototype.timeout=function(ms,message){var deferred=defer();var timeoutId=setTimeout(function(){deferred.reject(new Error(message||"Timed out after "+ms+" ms"))},ms);this.then(function(value){clearTimeout(timeoutId);deferred.resolve(value)},function(exception){clearTimeout(timeoutId);deferred.reject(exception)},deferred.notify);return deferred.promise};Q.delay=function(object,timeout){if(timeout===void 0){timeout=object;object=void 0}return Q(object).delay(timeout)};Promise.prototype.delay=function(timeout){return this.then(function(value){var deferred=defer();setTimeout(function(){deferred.resolve(value)},timeout);return deferred.promise})};Q.nfapply=function(callback,args){return Q(callback).nfapply(args)};Promise.prototype.nfapply=function(args){var deferred=defer();var nodeArgs=array_slice(args);nodeArgs.push(deferred.makeNodeResolver());this.fapply(nodeArgs).fail(deferred.reject);return deferred.promise};Q.nfcall=function(callback){var args=array_slice(arguments,1);return Q(callback).nfapply(args)};Promise.prototype.nfcall=function(){var nodeArgs=array_slice(arguments);var deferred=defer();nodeArgs.push(deferred.makeNodeResolver());this.fapply(nodeArgs).fail(deferred.reject);return deferred.promise};Q.nfbind=Q.denodeify=function(callback){var baseArgs=array_slice(arguments,1);return function(){var nodeArgs=baseArgs.concat(array_slice(arguments));var deferred=defer();nodeArgs.push(deferred.makeNodeResolver());Q(callback).fapply(nodeArgs).fail(deferred.reject);return deferred.promise}};Promise.prototype.nfbind=Promise.prototype.denodeify=function(){var args=array_slice(arguments);args.unshift(this);return Q.denodeify.apply(void 0,args)};Q.nbind=function(callback,thisp){var baseArgs=array_slice(arguments,2);return function(){var nodeArgs=baseArgs.concat(array_slice(arguments));var deferred=defer();nodeArgs.push(deferred.makeNodeResolver());function bound(){return callback.apply(thisp,arguments)}Q(bound).fapply(nodeArgs).fail(deferred.reject);return deferred.promise}};Promise.prototype.nbind=function(){var args=array_slice(arguments,0);args.unshift(this);return Q.nbind.apply(void 0,args)};Q.nmapply=Q.npost=function(object,name,args){return Q(object).npost(name,args)};Promise.prototype.nmapply=Promise.prototype.npost=function(name,args){var nodeArgs=array_slice(args||[]);var deferred=defer();nodeArgs.push(deferred.makeNodeResolver());this.dispatch("post",[name,nodeArgs]).fail(deferred.reject);return deferred.promise};Q.nsend=Q.nmcall=Q.ninvoke=function(object,name){var nodeArgs=array_slice(arguments,2);var deferred=defer();nodeArgs.push(deferred.makeNodeResolver());Q(object).dispatch("post",[name,nodeArgs]).fail(deferred.reject);return deferred.promise};Promise.prototype.nsend=Promise.prototype.nmcall=Promise.prototype.ninvoke=function(name){var nodeArgs=array_slice(arguments,1);var deferred=defer();nodeArgs.push(deferred.makeNodeResolver());this.dispatch("post",[name,nodeArgs]).fail(deferred.reject);return deferred.promise};Q.nodeify=nodeify;function nodeify(object,nodeback){return Q(object).nodeify(nodeback)}Promise.prototype.nodeify=function(nodeback){if(nodeback){this.then(function(value){nextTick(function(){nodeback(null,value)})},function(error){nextTick(function(){nodeback(error)})})}else{return this}};var qEndingLine=captureLine();return Q})},{__browserify_process:31}],3:[function(require,module,exports){module.exports={T:{gt:"T.gt",gte:"T.gte",eq:"T.eq",neq:"T.neq",lte:"T.lte",lt:"T.lt",decr:"T.decr",incr:"T.incr",notin:"T.notin","in":"T.in"},Contains:{IN:"Contains.IN",NOT_IN:"Contains.NOT_IN"},Vertex:{"class":"Vertex.class"},Edge:{"class":"Edge.class"}}},{}],4:[function(require,module,exports){var http=require("http");var q=require("q");var Utils=require("./utils");var isObject=Utils.isObject;var isArray=Utils.isArray;var isClosure=Utils.isClosure;var isGraphReference=Utils.isGraphReference;var isRegexId=Utils.isRegexId;var merge=Utils.merge;var pathBase="/graphs/";var gremlinExt="/tp/gremlin?script=";function qryMain(method,reset){return function(){var self=this,gremlin=reset?new Gremlin(this):self._buildGremlin(self.params),args="",appendArg="";if(method=="select"){args=arguments;gremlin.params+="."+method+buildArgs.call(self,args,true)}else{args=isArray(arguments[0])?arguments[0]:arguments;if(method=="idx"&&args.length>1){for(var k in args[1]){appendArg=k+":";appendArg+=parseArgs.call(self,args[1][k])}appendArg="[["+appendArg+"]]";args.length=1}gremlin.params+="."+method+buildArgs.call(self,args)}gremlin.params+=appendArg;return gremlin}}module.exports=qryMain;function qryIndex(){return function(arg){var gremlin=this._buildGremlin(this.params);gremlin.params+="["+arg.toString()+"]";return gremlin}}function qryPipes(method){return function(){var self=this,gremlin=self._buildGremlin(this.params),args=[],isArr=isArray(arguments[0]),argsLen=isArr?arguments[0].length:arguments.length;gremlin.params+="."+method+"(";for(var _i=0;_i<argsLen;_i++){gremlin.params+=isArr?arguments[0][_i].params||parseArgs.call(self,arguments[0][_i]):arguments[_i].params||parseArgs.call(self,arguments[_i]);gremlin.params+=","}gremlin.params=gremlin.params.slice(0,-1);gremlin.params+=")";return gremlin}}function qryCollection(method){return function(){var self=this,gremlin=this._buildGremlin(this.params),param="";if(isArray(arguments[0])){for(var _i=0,argsLen=arguments[0].length;_i<argsLen;_i++){param+=arguments[0][_i].params;param+=","}gremlin.params+="."+method+"(["+param+"])"}else{gremlin.params+="."+method+buildArgs.call(self,arguments[0])}return gremlin}}function buildArgs(array,retainArray){var self=this,argList="",append="",jsonString="";for(var _i=0,l=array.length;_i<l;_i++){if(isClosure(array[_i])){append+=array[_i]}else if(isObject(array[_i])&&array[_i].hasOwnProperty("verbatim")){argList+=array[_i].verbatim+","}else if(isObject(array[_i])&&!(array[_i].hasOwnProperty("params")&&isGraphReference(array[_i].params))){jsonString=JSON.stringify(array[_i]);jsonString=jsonString.replace("{","[");argList+=jsonString.replace("}","]")+","}else if(retainArray&&isArray(array[_i])){argList+="["+parseArgs.call(self,array[_i])+"],"}else{argList+=parseArgs.call(self,array[_i])+","}}argList=argList.slice(0,-1);return"("+argList+")"+append}function parseArgs(val){if(val===null){return"null"}if(isObject(val)&&val.hasOwnProperty("params")&&isGraphReference(val.params)){return val.params.toString()}if(isGraphReference(val)){return val.toString()}if(isRegexId.call(this,val)||isNaN(parseFloat(val))){return"'"+val+"'"}if(!isNaN(parseFloat(val))){return val.toString()}return val}Gremlin=function(){function Gremlin(gRex){this.gRex=gRex;this.OPTS=gRex.OPTS;this.params="g"}function get(){return function(success,error){return getData.call(this).then(success,error)}}function getData(){var self=this;var deferred=q.defer();var options={host:this.OPTS.host,port:this.OPTS.port,path:pathBase+this.OPTS.graph+gremlinExt+encodeURIComponent(this.params)+"&rexster.showTypes=true",headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"GET"};http.get(options,function(res){var body="";var typeMap={};var tempObj={};var returnObj={};var resultObj={results:[],typeMap:{}};var n;res.on("data",function(results){body+=results});res.on("end",function(){deferred.resolve(transformResults.call(self.gRex,JSON.parse(body).results))})}).on("error",function(e){deferred.reject(e)});return deferred.promise}function createTypeDef(obj){var tempObj={},tempTypeObj={},tempResultObj={},tempTypeArr=[],tempResultArr=[],tempTypeArrLen=0,len=0,rest=1,mergedObject={},returnObj={typeDef:{},result:{}};if(isArray(obj)){len=obj.length;for(var i=0;i<len;i++){if(obj[i].type=="map"||obj[i].type=="list"){tempObj=createTypeDef(obj[i].value);tempTypeArr[i]=tempObj.typeDef;tempResultArr[i]=tempObj.result}else{tempTypeArr.push(obj[i].type);tempResultArr.push(obj[i].value)}if(i>0){if(obj[i].type!==obj[i-1].type){rest=i+1}}}if(rest>1&&isObject(tempTypeArr[rest])){tempTypeArrLen=tempTypeArr.length;mergedObject=tempTypeArr[rest-1];for(var j=rest;j<tempTypeArrLen;j++){mergedObject=merge(mergedObject,tempTypeArr[j])}tempResultArr[rest-1]=mergedObject}tempTypeArr.length=rest;returnObj.typeDef=tempTypeArr;returnObj.result=tempResultArr}else{for(var k in obj){if(obj.hasOwnProperty(k)){if(obj[k].type=="map"||obj[k].type=="list"){tempObj=createTypeDef(obj[k].value);tempTypeObj[k]=tempObj.typeDef;tempResultObj[k]=tempObj.result}else{tempTypeObj[k]=obj[k].type;tempResultObj[k]=obj[k].value}}}returnObj.typeDef=tempTypeObj;returnObj.result=tempResultObj}return returnObj}function transformResults(results){var typeMap={};var typeObj,tempObj,returnObj;var result={success:true,results:[],typeMap:{}};var n,l=results?results.length:0;for(n=0;n<l;n++){tempObj=results[n];if(isObject(tempObj)){returnObj={};typeObj={};for(var k in tempObj){if(tempObj.hasOwnProperty(k)){if(isObject(tempObj[k])&&"type"in tempObj[k]){if(!!typeMap[k]&&typeMap[k]!=tempObj[k].type){if(!result.typeMapErr){result.typeMapErr={}}console.error("_id:"+tempObj._id+" => {"+k+":"+tempObj[k].type+"}");if(!(k in result.typeMapErr)){result.typeMapErr[k]=typeMap[k]+" <=> "+tempObj[k].type}}if(tempObj[k].type=="map"||tempObj[k].type=="list"){typeObj=createTypeDef(tempObj[k].value);typeMap[k]=typeObj.typeDef;returnObj[k]=typeObj.result}else{typeMap[k]=tempObj[k].type;returnObj[k]=tempObj[k].value}}else{returnObj[k]=tempObj[k]}}}result.results.push(returnObj)}else{result.results.push(tempObj)}}result.typeMap=typeMap;this.typeMap=merge(this.typeMap,typeMap);return result}Gremlin.prototype={_buildGremlin:function(qryString){this.params=qryString;return this},_:qryMain("_"),both:qryMain("both"),bothE:qryMain("bothE"),bothV:qryMain("bothV"),cap:qryMain("cap"),gather:qryMain("gather"),id:qryMain("id"),"in":qryMain("in"),inE:qryMain("inE"),inV:qryMain("inV"),property:qryMain("property"),label:qryMain("label"),map:qryMain("map"),memoize:qryMain("memoize"),order:qryMain("order"),out:qryMain("out"),outE:qryMain("outE"),outV:qryMain("outV"),path:qryMain("path"),scatter:qryMain("scatter"),select:qryMain("select"),transform:qryMain("transform"),orderMap:qryMain("orderMap"),index:qryIndex(),range:qryIndex(),and:qryPipes("and"),back:qryMain("back"),dedup:qryMain("dedup"),except:qryCollection("except"),filter:qryMain("filter"),has:qryMain("has"),hasNot:qryMain("hasNot"),interval:qryMain("interval"),or:qryPipes("or"),random:qryMain("random"),retain:qryCollection("retain"),simplePath:qryMain("simplePath"),as:qryMain("as"),groupBy:qryMain("groupBy"),groupCount:qryMain("groupCount"),optional:qryMain("optional"),sideEffect:qryMain("sideEffect"),linkBoth:qryMain("linkBoth"),linkIn:qryMain("linkIn"),linkOut:qryMain("linkOut"),copySplit:qryPipes("copySplit"),exhaustMerge:qryMain("exhaustMerge"),fairMerge:qryMain("fairMerge"),ifThenElse:qryMain("ifThenElse"),loop:qryMain("loop"),count:qryMain("count"),iterate:qryMain("iterate"),next:qryMain("next"),toList:qryMain("toList"),keys:qryMain("keys"),remove:qryMain("remove"),values:qryMain("values"),put:qryPipes("put"),getPropertyKeys:qryMain("getPropertyKeys"),setProperty:qryMain("setProperty"),getProperty:qryMain("getProperty"),then:get()};
return Gremlin}()},{"./utils":8,http:12,q:2}],5:[function(require,module,exports){var q=require("q"),merge=require("./utils").merge,Trxn=require("./transaction"),qryMain=require("./gremlin");module.exports=function(){function gRex(options){var self=this;this.OPTS={host:"localhost",port:8182,graph:"tinkergraph",idRegex:false};this.typeMap={};if(options){this.setOptions(options)}this.V=qryMain("V",true);this._=qryMain("_",true);this.E=qryMain("E",true);this.V=qryMain("V",true);this.e=qryMain("e",true);this.idx=qryMain("idx",true);this.v=qryMain("v",true);this.createIndex=qryMain("createIndex",true);this.createKeyIndex=qryMain("createKeyIndex",true);this.getIndices=qryMain("getIndices",true);this.getIndexedKeys=qryMain("getIndexedKeys",true);this.getIndex=qryMain("getIndex",true);this.dropIndex=qryMain("dropIndex",true);this.dropKeyIndex=qryMain("dropKeyIndex",true);this.clear=qryMain("clear",true);this.shutdown=qryMain("shutdown",true);this.getFeatures=qryMain("getFeatures",true);this.connect=function(){return q.fcall(function(){return self})}}gRex.prototype.setOptions=function(options){if(!!options){for(var k in options){if(options.hasOwnProperty(k)){this.OPTS[k]=options[k]}}}};gRex.prototype.begin=function(typeMap){return new Trxn(this.OPTS,typeMap?merge(typeMap,this.typeMap):this.typeMap)};return gRex}()},{"./gremlin":4,"./transaction":7,"./utils":8,q:2}],6:[function(require,module,exports){var classes=require("./classes");var gRex=require("./grex");var grex=function(options){try{var db=new gRex(options);connect=db.connect()}catch(error){console.log(error)}return connect};module.exports={connect:grex,T:classes.T,Contains:classes.Contains,Vertex:classes.Vertex,Edge:classes.Edge}},{"./classes":3,"./grex":5}],7:[function(require,module,exports){var Buffer=require("__browserify_Buffer").Buffer;var q=require("q"),http=require("http"),Utils=require("./utils");var typeHash={integer:"i","long":"l","float":"f","double":"d",string:"s","boolean":"b",i:"i",l:"l",f:"f",d:"d",s:"s",b:"b",list:"list",map:"map"};var isObject=Utils.isObject;var isArray=Utils.isArray;var push=Array.prototype.push;var pathBase="/graphs/";var batchExt="/tp/batch/tx";var newVertex="/vertices";module.exports=function(){function Trxn(options,typeMap){this.OPTS=options;this.typeMap=typeMap;this.txArray=[];this.newVertices=[]}var Node=function(){function Node(obj){this._obj=obj}Node.prototype={addProperty:function(k,v){this._obj[k]=v;return this},setProperty:function(k,v){this._obj[k]=v;return this}};return Node}();function addTypes(obj,typeDef,embedded,list){var tempObj={};var tempStr="";var obj2,idx=0;for(var k in obj){if(obj.hasOwnProperty(k)){if(typeDef){if(k in typeDef&&isObject(typeDef[k])){if(embedded){if(list){obj2=obj[k];for(var k2 in obj2){if(obj2.hasOwnProperty(k2)){if(typeDef[k]&&k2 in typeDef[k]){tempStr+="(map,("+addTypes(obj[k],typeDef[k],true)+"))"}}}}else{tempStr+=k+"=(map,("+addTypes(obj[k],typeDef[k],true)+"))"}tempStr=tempStr.replace(")(","),(")}else{tempObj[k]="(map,("+addTypes(obj[k],typeDef[k],true)+"))"}}else if(k in typeDef&&isArray(typeDef[k])){if(embedded){tempStr+="(list,("+addTypes(obj[k],typeDef[k],true,true)+"))";tempStr=tempStr.replace(")(","),(")}else{tempObj[k]="(list,("+addTypes(obj[k],typeDef[k],true,true)+"))"}}else{if(embedded){if(list){if(k in typeDef){idx=k;tempStr+="("+typeHash[typeDef[idx]]+","+obj[k]+")"}else{idx=typeDef.length-1;if(isObject(typeDef[idx])){tempStr+=",(map,("+addTypes(obj[k],typeDef[idx],true)+"))"}else if(isArray(typeDef[idx])){tempStr+=",(list,("+addTypes(obj[k],typeDef[idx],true,true)+"))"}else{tempStr+="("+typeHash[typeDef[idx]]+","+obj[k]+")"}}tempStr=tempStr.replace(")(","),(")}else{if(k in typeDef){tempStr+=k+"=("+typeHash[typeDef[k]]+","+obj[k]+")";tempStr=tempStr.replace(")(","),(")}else{tempObj[k]=obj[k]}}}else{if(k in typeDef){tempObj[k]="("+typeHash[typeDef[k]]+","+obj[k]+")"}else{tempObj[k]=obj[k]}}}}else{tempObj[k]=obj[k]}}}return embedded?tempStr:tempObj}function cud(action,type){return function(){var o={},vertex,argLen=arguments.length,i=0,addToTransaction=true;if(!!argLen){if(action=="delete"){o._id=arguments[0];if(argLen>1){o._keys=arguments[1]}}else{if(type=="edge"){o=isObject(arguments[argLen-1])?arguments[argLen-1]:{};if(argLen==5||argLen==4&&!isObject(o)){i=1;o._id=arguments[0]}o._outV=arguments[0+i]._obj;o._inV=arguments[1+i]._obj;o._label=arguments[2+i]}else{if(isObject(arguments[0])){o=arguments[0];push.call(this.newVertices,o);addToTransaction=false}else{if(argLen==2){o=arguments[1]}o._id=arguments[0]}}}}else if(type=="vertex"){push.call(this.newVertices,o);addToTransaction=false}o._type=type;if(addToTransaction){o._action=action;push.call(this.txArray,addTypes(o,this.typeMap))}return new Node(o)}}function rollbackVertices(){var self=this;var errObj={success:false,message:""};console.error("problem with Transaction");self.txArray.length=0;for(var i=self.newVertices.length-1;i>=0;i--){if("_id"in self.newVertices[i]){self.removeVertex(self.newVertices[i]._id)}}self.newVertices.length=0;if(!self.txArray.length){return q.fcall(function(){errObj.message="Could not complete transaction. Transaction has been rolled back.";return errObj})}return postData.call(self,batchExt,{tx:self.txArray}).then(function(success){errObj.message="Could not complete transaction. Transaction has been rolled back.";return errObj},function(fail){errObj.message="Could not complete transaction. Unable to roll back newly created vertices.";errObj.ids=self.txArray.map(function(item){return item._id});self.txArray.length=0;return errObj})}function post(){return function(){var self=this;var promises=[];var newVerticesLen=self.newVertices.length;var txLen=this.txArray.length;if(!!newVerticesLen){for(var i=0;i<newVerticesLen;i++){promises.push(postData.call(self,newVertex,addTypes(self.newVertices[i],self.typeMap),{"Content-Type":"application/vnd.rexster-typed-v1+json"}))}return q.all(promises).then(function(result){var inError=false;var resultLen=result.length;for(var j=0;j<resultLen;j++){if("results"in result[j]&&"_id"in result[j].results){for(var prop in result[j].results){if(result[j].results.hasOwnProperty(prop)){self.newVertices[j][prop]=result[j].results[prop]}}}else{inError=true}}if(inError){return rollbackVertices.call(self).then(function(result){throw result},function(error){throw error})}for(var k=0;k<txLen;k++){if(self.txArray[k]._type=="edge"&&self.txArray[k]._action=="create"){if(isObject(self.txArray[k]._inV)){self.txArray[k]._inV=self.txArray[k]._inV._id}if(isObject(self.txArray[k]._outV)){self.txArray[k]._outV=self.txArray[k]._outV._id}}}return postData.call(self,batchExt,{tx:self.txArray})},function(err){console.error(err)})}else{for(var k=0;k<txLen;k++){if(self.txArray[k]._type=="edge"&&self.txArray[k]._action=="create"){if(isObject(self.txArray[k]._inV)){self.txArray[k]._inV=self.txArray[k]._inV._id}if(isObject(this.txArray[k]._outV)){self.txArray[k]._outV=self.txArray[k]._outV._id}}}return postData.call(self,batchExt,{tx:self.txArray})}}}function postData(urlPath,data,headers){var self=this;var deferred=q.defer();var payload=JSON.stringify(data)||"{}";var options={host:this.OPTS.host,port:this.OPTS.port,path:pathBase+this.OPTS.graph,headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(payload,"utf8")},method:"POST"};if(headers){for(var prop in headers){if(headers.hasOwnProperty(prop)){options.headers[prop]=headers[prop]}}}options.path+=urlPath;var req=http.request(options,function(res){var body="";var o={};res.on("data",function(chunk){body+=chunk});res.on("end",function(){o=JSON.parse(body);if("success"in o&&o.success===false){if(self.newVertices&&!!self.newVertices.length){rollbackVertices.call(self).then(function(result){deferred.reject(result)},function(error){deferred.reject(error)})}else{deferred.reject(o)}}else{delete o.version;delete o.queryTime;delete o.txProcessed;if(!("results"in o)&&self.newVertices&&!!self.newVertices.length){o.newVertices=[];push.apply(o.newVertices,self.newVertices);self.newVertices.length=0}if("tx"in data){data.tx.length=0}deferred.resolve(o)}})});req.on("error",function(e){console.error("problem with request: "+e.message);deferred.reject(e)});req.write(payload);req.end();return deferred.promise}Trxn.prototype={addVertex:cud("create","vertex"),addEdge:cud("create","edge"),removeVertex:cud("delete","vertex"),removeEdge:cud("delete","edge"),updateVertex:cud("update","vertex"),updateEdge:cud("update","edge"),commit:post()};return Trxn}()},{"./utils":8,__browserify_Buffer:30,http:12,q:2}],8:[function(require,module,exports){var graphRegex=/^T\.(gt|gte|eq|neq|lte|lt|decr|incr|notin|in)$|^Contains\.(IN|NOT_IN)$|^g\.|^Vertex(?=\.class\b)|^Edge(?=\.class\b)/;var closureRegex=/^\{.*\}$/;var toString=Object.prototype.toString;function isString(o){return toString.call(o)==="[object String]"}module.exports={merge:function(obj1,obj2){for(var p in obj2){try{if(obj1.hasOwnProperty(p)){obj1[p]=merge(obj1[p],obj2[p])}else{obj1[p]=obj2[p]}}catch(e){obj1[p]=obj2[p]}}return obj1},isRegexId:function(id){return!!this.OPTS.idRegex&&isString(id)&&this.OPTS.idRegex.test(id)},isGraphReference:function(val){return isString(val)&&graphRegex.test(val)},isObject:function(o){return toString.call(o)==="[object Object]"},isClosure:function(val){return isString(val)&&closureRegex.test(val)},isArray:function(o){return toString.call(o)==="[object Array]"}}},{}],9:[function(require,module,exports){var process=require("__browserify_process");if(!process.EventEmitter)process.EventEmitter=function(){};var EventEmitter=exports.EventEmitter=process.EventEmitter;var isArray=typeof Array.isArray==="function"?Array.isArray:function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function indexOf(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i<xs.length;i++){if(x===xs[i])return i}return-1}var defaultMaxListeners=10;EventEmitter.prototype.setMaxListeners=function(n){if(!this._events)this._events={};this._events.maxListeners=n};EventEmitter.prototype.emit=function(type){if(type==="error"){if(!this._events||!this._events.error||isArray(this._events.error)&&!this._events.error.length){if(arguments[1]instanceof Error){throw arguments[1]}else{throw new Error("Uncaught, unspecified 'error' event.")}return false}}if(!this._events)return false;var handler=this._events[type];if(!handler)return false;if(typeof handler=="function"){switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:var args=Array.prototype.slice.call(arguments,1);handler.apply(this,args)}return true}else if(isArray(handler)){var args=Array.prototype.slice.call(arguments,1);var listeners=handler.slice();for(var i=0,l=listeners.length;i<l;i++){listeners[i].apply(this,args)}return true}else{return false}};EventEmitter.prototype.addListener=function(type,listener){if("function"!==typeof listener){throw new Error("addListener only takes instances of Function")}if(!this._events)this._events={};this.emit("newListener",type,listener);if(!this._events[type]){this._events[type]=listener}else if(isArray(this._events[type])){if(!this._events[type].warned){var m;if(this._events.maxListeners!==undefined){m=this._events.maxListeners}else{m=defaultMaxListeners}if(m&&m>0&&this._events[type].length>m){this._events[type].warned=true;console.error("(node) warning: possible EventEmitter memory "+"leak detected. %d listeners added. "+"Use emitter.setMaxListeners() to increase limit.",this._events[type].length);console.trace()}}this._events[type].push(listener)}else{this._events[type]=[this._events[type],listener]}return this};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.once=function(type,listener){var self=this;self.on(type,function g(){self.removeListener(type,g);listener.apply(this,arguments)});return this};EventEmitter.prototype.removeListener=function(type,listener){if("function"!==typeof listener){throw new Error("removeListener only takes instances of Function")}if(!this._events||!this._events[type])return this;var list=this._events[type];if(isArray(list)){var i=indexOf(list,listener);if(i<0)return this;list.splice(i,1);if(list.length==0)delete this._events[type]}else if(this._events[type]===listener){delete this._events[type]}return this};EventEmitter.prototype.removeAllListeners=function(type){if(arguments.length===0){this._events={};return this}if(type&&this._events&&this._events[type])this._events[type]=null;return this};EventEmitter.prototype.listeners=function(type){if(!this._events)this._events={};if(!this._events[type])this._events[type]=[];if(!isArray(this._events[type])){this._events[type]=[this._events[type]]}return this._events[type]};EventEmitter.listenerCount=function(emitter,type){var ret;if(!emitter._events||!emitter._events[type])ret=0;else if(typeof emitter._events[type]==="function")ret=1;else ret=emitter._events[type].length;return ret}},{__browserify_process:31}],10:[function(require,module,exports){var events=require("events");var util=require("util");function Stream(){events.EventEmitter.call(this)}util.inherits(Stream,events.EventEmitter);module.exports=Stream;Stream.Stream=Stream;Stream.prototype.pipe=function(dest,options){var source=this;function ondata(chunk){if(dest.writable){if(false===dest.write(chunk)&&source.pause){source.pause()}}}source.on("data",ondata);function ondrain(){if(source.readable&&source.resume){source.resume()}}dest.on("drain",ondrain);if(!dest._isStdio&&(!options||options.end!==false)){dest._pipeCount=dest._pipeCount||0;dest._pipeCount++;source.on("end",onend);source.on("close",onclose)}var didOnEnd=false;function onend(){if(didOnEnd)return;didOnEnd=true;dest._pipeCount--;cleanup();if(dest._pipeCount>0){return}dest.end()}function onclose(){if(didOnEnd)return;didOnEnd=true;dest._pipeCount--;cleanup();if(dest._pipeCount>0){return}dest.destroy()}function onerror(er){cleanup();if(this.listeners("error").length===0){throw er}}source.on("error",onerror);dest.on("error",onerror);function cleanup(){source.removeListener("data",ondata);dest.removeListener("drain",ondrain);source.removeListener("end",onend);source.removeListener("close",onclose);source.removeListener("error",onerror);dest.removeListener("error",onerror);source.removeListener("end",cleanup);source.removeListener("close",cleanup);dest.removeListener("end",cleanup);dest.removeListener("close",cleanup)}source.on("end",cleanup);source.on("close",cleanup);dest.on("end",cleanup);dest.on("close",cleanup);dest.emit("pipe",source);return dest}},{events:9,util:11}],11:[function(require,module,exports){var events=require("events");exports.isArray=isArray;exports.isDate=function(obj){return Object.prototype.toString.call(obj)==="[object Date]"};exports.isRegExp=function(obj){return Object.prototype.toString.call(obj)==="[object RegExp]"};exports.print=function(){};exports.puts=function(){};exports.debug=function(){};exports.inspect=function(obj,showHidden,depth,colors){var seen=[];var stylize=function(str,styleType){var styles={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};var style={special:"cyan",number:"blue","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}[styleType];if(style){return"["+styles[style][0]+"m"+str+"["+styles[style][1]+"m"}else{return str}};if(!colors){stylize=function(str,styleType){return str}}function format(value,recurseTimes){if(value&&typeof value.inspect==="function"&&value!==exports&&!(value.constructor&&value.constructor.prototype===value)){return value.inspect(recurseTimes)}switch(typeof value){case"undefined":return stylize("undefined","undefined");case"string":var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return stylize(simple,"string");case"number":return stylize(""+value,"number");case"boolean":return stylize(""+value,"boolean")}if(value===null){return stylize("null","null")}var visible_keys=Object_keys(value);var keys=showHidden?Object_getOwnPropertyNames(value):visible_keys;if(typeof value==="function"&&keys.length===0){if(isRegExp(value)){return stylize(""+value,"regexp")}else{var name=value.name?": "+value.name:"";return stylize("[Function"+name+"]","special")}}if(isDate(value)&&keys.length===0){return stylize(value.toUTCString(),"date")}var base,type,braces;if(isArray(value)){type="Array";braces=["[","]"]}else{type="Object";braces=["{","}"]}if(typeof value==="function"){var n=value.name?": "+value.name:"";base=isRegExp(value)?" "+value:" [Function"+n+"]"}else{base=""}if(isDate(value)){base=" "+value.toUTCString()}if(keys.length===0){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return stylize(""+value,"regexp")}else{return stylize("[Object]","special")}}seen.push(value);var output=keys.map(function(key){var name,str;if(value.__lookupGetter__){if(value.__lookupGetter__(key)){if(value.__lookupSetter__(key)){str=stylize("[Getter/Setter]","special")}else{str=stylize("[Getter]","special")}}else{if(value.__lookupSetter__(key)){str=stylize("[Setter]","special")}}}if(visible_keys.indexOf(key)<0){name="["+key+"]"}if(!str){if(seen.indexOf(value[key])<0){if(recurseTimes===null){str=format(value[key])}else{str=format(value[key],recurseTimes-1)}if(str.indexOf("\n")>-1){if(isArray(value)){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\