Skip to content

Instantly share code, notes, and snippets.

Created June 12, 2014 13:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/7c517d5d3f447fe072cc to your computer and use it in GitHub Desktop.
Save anonymous/7c517d5d3f447fe072cc to your computer and use it in GitHub Desktop.
A Pen by Anonasaurus Rex.
<html lang="en">
<head>
<meta charset="utf-8">
<title>PouchDB Test</title>
</head>
<input id="enter-text" placeholder="Enter text here" autofocus>
<button id="upload">Upload text</button>
<button id="show">Show all text</button>
<button id="reset">Reset database</button>
<div id="display-area"></div>
<script src="pouchdb.js"></script>
<script src="app.js"></script>
</body>
</html>
!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.PouchDB=e()}}(function(){var define,module,exports;return function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);throw new Error("Cannot find module '"+s+"'")}var c=n[s]={exports:{}};t[s][0].call(c.exports,function(e){var n=t[s][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t){"use strict";function n(e,t){for(var n=0;n<e.length;n++)if(t(e[n],n)===!0)return e[n];return!1}function r(e){return function(t,n){t||n[0].error?e(t||n[0]):e(null,n[0])}}function o(e){var t={},n=[];return u.traverseRevTree(e,function(e,r,o,i){var s=r+"-"+o;return e&&(t[s]=0),void 0!==i&&n.push({from:i,to:s}),s}),n.reverse(),n.forEach(function(e){t[e.from]=void 0===t[e.from]?1+t[e.to]:Math.min(t[e.from],1+t[e.to])}),t}function i(e,t,n){var r="limit"in t?t.keys.slice(t.skip,t.limit+t.skip):t.skip>0?t.keys.slice(t.skip):t.keys;if(t.descending&&r.reverse(),!r.length)return e._allDocs({limit:0},n);var o={offset:t.skip};return p.all(r.map(function(n){var r=a.extend(!0,{key:n,deleted:"ok"},t);return["limit","skip","keys"].forEach(function(e){delete r[e]}),new p(function(t,i){e._allDocs(r,function(e,r){return e?i(e):(o.total_rows=r.total_rows,void t(r.rows[0]||{key:n,error:"not_found"}))})})})).then(function(e){return o.rows=e,o})}function s(){var e=this;d.call(this),e.autoCompact=function(t){return e.auto_compaction?function(n,r){if(n)t(n);else{var o=r.length,i=function(){o--,o||t(null,r)};r.forEach(function(t){t.ok?e.compactDocument(t.id,1,i):i()})}}:t};var t,n=0,r=["change","delete","create","update"];this.on("newListener",function(o){if(~r.indexOf(o)){if(n)return void n++;n++;var i=0;t=this.changes({conflicts:!0,include_docs:!0,continuous:!0,since:"now",onChange:function(t){t.seq<=i||(i=t.seq,e.emit("change",t),t.doc._deleted?e.emit("delete",t):"1"===t.doc._rev.split("-")[0]?e.emit("create",t):e.emit("update",t))}})}}),this.on("removeListener",function(e){~r.indexOf(e)&&(n--,n||t.cancel())})}var a=e("./utils"),u=e("./merge"),c=e("./deps/errors"),d=e("events").EventEmitter,l=e("./deps/upsert"),f=e("./changes"),p=a.Promise;a.inherits(s,d),t.exports=s,s.prototype.post=a.adapterFun("post",function(e,t,n){return"function"==typeof t&&(n=t,t={}),"object"!=typeof e||Array.isArray(e)?n(c.NOT_AN_OBJECT):void this.bulkDocs({docs:[e]},t,this.autoCompact(r(n)))}),s.prototype.put=a.adapterFun("put",a.getArguments(function(e){var t,n,o,i,s=e.shift(),u="_id"in s;if("object"!=typeof s||Array.isArray(s))return(i=e.pop())(c.NOT_AN_OBJECT);for(s=a.clone(s);;)if(t=e.shift(),n=typeof t,"string"!==n||u?"string"!==n||!u||"_rev"in s?"object"===n?o=t:"function"===n&&(i=t):s._rev=t:(s._id=t,u=!0),!e.length)break;o=o||{};var d=a.invalidIdError(s._id);return d?i(d):void this.bulkDocs({docs:[s]},o,this.autoCompact(r(i)))})),s.prototype.putAttachment=a.adapterFun("putAttachment",function(e,t,n,r,o,i){function s(e){return e._attachments=e._attachments||{},e._attachments[t]={content_type:o,data:r},a.put(e)}var a=this;return"function"==typeof o&&(i=o,o=r,r=n,n=null),"undefined"==typeof o&&(o=r,r=n,n=null),a.get(e).then(function(e){if(e._rev!==n)throw c.REV_CONFLICT;return s(e)},function(t){if(t.error===c.MISSING_DOC.error)return s({_id:e});throw t})}),s.prototype.removeAttachment=a.adapterFun("removeAttachment",function(e,t,n,r){var o=this;o.get(e,function(e,i){return e?void r(e):i._rev!==n?void r(c.REV_CONFLICT):i._attachments?(delete i._attachments[t],0===Object.keys(i._attachments).length&&delete i._attachments,void o.put(i,r)):r()})}),s.prototype.remove=a.adapterFun("remove",function(e,t,n){"function"==typeof t?(n=t,t={}):"string"==typeof t?e={_id:e,_rev:t}:void 0===t&&(t={}),t=a.clone(t),t.was_delete=!0;var o={_id:e._id,_rev:e._rev};o._deleted=!0,this.bulkDocs({docs:[o]},t,r(n))}),s.prototype.revsDiff=a.adapterFun("revsDiff",function(e,t,n){function r(e,t){c[e]||(c[e]={missing:[]}),c[e].missing.push(t)}function o(t,n){var o=e[t].slice(0);u.traverseRevTree(n,function(e,n,i,s,a){var u=n+"-"+i,c=o.indexOf(u);-1!==c&&(o.splice(c,1),"available"!==a.status&&r(t,u))}),o.forEach(function(e){r(t,e)})}"function"==typeof t&&(n=t,t={}),t=a.clone(t);var i=Object.keys(e),s=0,c={};i.map(function(t){this._getRevisionTree(t,function(r,a){if(r&&"not_found"===r.name&&"missing"===r.message)c[t]={missing:e[t]};else{if(r)return n(r);o(t,a)}return++s===i.length?n(null,c):void 0})},this)}),s.prototype.compactDocument=function(e,t,n){var r=this;this._getRevisionTree(e,function(i,s){if(i)return n(i);var a=o(s),c=[],d=[];Object.keys(a).forEach(function(e){a[e]>t&&c.push(e)}),u.traverseRevTree(s,function(e,t,n,r,o){var i=t+"-"+n;"available"===o.status&&-1!==c.indexOf(i)&&(o.status="missing",d.push(i))}),r._doCompaction(e,s,d,n)})},s.prototype.compact=a.adapterFun("compact",function(e,t){"function"==typeof e&&(t=e,e={});var n=this;this.changes({complete:function(e,r){if(e)return void t();var o=r.results.length;return o?void r.results.forEach(function(e){n.compactDocument(e.id,0,function(){o--,o||t()})}):void t()}})}),s.prototype.get=a.adapterFun("get",function(e,t,r){function o(){var n=[],o=i.length;return o?void i.forEach(function(i){s.get(e,{rev:i,revs:t.revs,attachments:t.attachments},function(e,t){n.push(e?{missing:i}:{ok:t}),o--,o||r(null,n)})}):r(null,n)}if("function"==typeof t&&(r=t,t={}),"string"!=typeof e)return r(c.INVALID_ID);var i=[],s=this;if(!t.open_revs)return this._get(e,t,function(e,o){if(t=a.clone(t),e)return r(e);var i=o.doc;if(!i)return r(new Error("no doc!"));var c=o.metadata,d=o.ctx;if(t.conflicts){var l=u.collectConflicts(c);l.length&&(i._conflicts=l)}if(t.revs||t.revs_info){var f=u.rootToLeaf(c.rev_tree),p=n(f,function(e){return-1!==e.ids.map(function(e){return e.id}).indexOf(i._rev.split("-")[1])}),h=p.ids.map(function(e){return e.id}).indexOf(i._rev.split("-")[1])+1,v=p.ids.length-h;if(p.ids.splice(h,v),p.ids.reverse(),t.revs&&(i._revisions={start:p.pos+p.ids.length-1,ids:p.ids.map(function(e){return e.id})}),t.revs_info){var m=p.pos+p.ids.length;i._revs_info=p.ids.map(function(e){return m--,{rev:m+"-"+e.id,status:e.opts.status}})}}if(t.local_seq&&(i._local_seq=o.metadata.seq),t.attachments&&i._attachments){var y=i._attachments,_=Object.keys(y).length;if(0===_)return r(null,i);Object.keys(y).forEach(function(e){this._getAttachment(y[e],{encode:!0,ctx:d},function(t,n){i._attachments[e].data=n,--_||r(null,i)})},s)}else{if(i._attachments)for(var g in i._attachments)i._attachments.hasOwnProperty(g)&&(i._attachments[g].stub=!0);r(null,i)}});if("all"===t.open_revs)this._getRevisionTree(e,function(e,t){e&&(t=[]),i=u.collectLeaves(t).map(function(e){return e.rev}),o()});else{if(!Array.isArray(t.open_revs))return r(c.error(c.UNKNOWN_ERROR,"function_clause"));i=t.open_revs;for(var d=0;d<i.length;d++){var l=i[d];if("string"!=typeof l||!/^\d+-/.test(l))return r(c.error(c.BAD_REQUEST,"Invalid rev format"))}o()}}),s.prototype.getAttachment=a.adapterFun("getAttachment",function(e,t,n,r){var o=this;n instanceof Function&&(r=n,n={}),n=a.clone(n),this._get(e,n,function(e,i){return e?r(e):i.doc._attachments&&i.doc._attachments[t]?(n.ctx=i.ctx,void o._getAttachment(i.doc._attachments[t],n,r)):r(c.MISSING_DOC)})}),s.prototype.allDocs=a.adapterFun("allDocs",function(e,t){if("function"==typeof e&&(t=e,e={}),e=a.clone(e),e.skip="undefined"!=typeof e.skip?e.skip:0,"keys"in e){if(!Array.isArray(e.keys))return t(new TypeError("options.keys must be an array"));var n=["startkey","endkey","key"].filter(function(t){return t in e})[0];if(n)return void t(c.error(c.QUERY_PARSE_ERROR,"Query parameter `"+n+"` is not compatible with multi-get"));if("http"!==this.type())return i(this,e,t)}return this._allDocs(e,t)}),s.prototype.changes=function(e,t){return"function"==typeof e&&(t=e,e={}),new f(this,e,t)},s.prototype.close=a.adapterFun("close",function(e){return this._closed=!0,this._close(e)}),s.prototype.info=a.adapterFun("info",function(e){var t=this;this._info(function(n,r){if(n)return e(n);var o=t.prefix.length;r.db_name.length>o&&r.db_name.slice(0,o)===t.prefix&&(r.db_name=r.db_name.slice(o)),e(null,r)})}),s.prototype.id=a.adapterFun("id",function(e){return this._id(e)}),s.prototype.type=function(){return"function"==typeof this._type?this._type():this.adapter},s.prototype.bulkDocs=a.adapterFun("bulkDocs",function(e,t,n){if("function"==typeof t&&(n=t,t={}),t=a.clone(t),Array.isArray(e)&&(e={docs:e}),!e||!e.docs||!Array.isArray(e.docs))return n(c.MISSING_BULK_DOCS);for(var r=0;r<e.docs.length;++r)if("object"!=typeof e.docs[r]||Array.isArray(e.docs[r]))return n(c.NOT_AN_OBJECT);return e=a.clone(e),"new_edits"in t||(t.new_edits="new_edits"in e?e.new_edits:!0),this._bulkDocs(e,t,this.autoCompact(n))}),s.prototype.registerDependentDatabase=a.adapterFun("registerDependentDatabase",function(e,t){function n(t){return t.dependentDbs=t.dependentDbs||{},t.dependentDbs[e]?!1:(t.dependentDbs[e]=!0,t)}var r=new this.constructor(e,{adapter:this._adapter});l(this,"_local/_pouch_dependentDbs",n,function(e){return e?t(e):t(null,{db:r})})})},{"./changes":6,"./deps/errors":10,"./deps/upsert":11,"./merge":16,"./utils":21,events:25}],2:[function(e,t){"use strict";function n(e){for(var t=n.options,r=t.parser[t.strictMode?"strict":"loose"].exec(e),o={},i=14;i--;)o[t.key[i]]=r[i]||"";return o[t.q.name]={},o[t.key[12]].replace(t.q.parser,function(e,n,r){n&&(o[t.q.name][n]=r)}),o}function r(e){return/^_(design|local)/.test(e)?e:encodeURIComponent(e)}function o(e,t){if(/http(s?):/.test(e)){var r=n(e);r.remote=!0,(r.user||r.password)&&(r.auth={username:r.user,password:r.password});var o=r.path.replace(/(^\/|\/$)/g,"").split("/");if(r.db=o.pop(),r.path=o.join("/"),t=t||{},t=u.clone(t),r.headers=t.headers||{},t.auth||r.auth){var i=t.auth||r.auth,s=u.btoa(i.username+":"+i.password);r.headers.Authorization="Basic "+s}return t.headers&&(r.headers=t.headers),r}return{host:"",path:"/",db:e,auth:!1}}function i(e,t){return s(e,e.db+"/"+t)}function s(e,t){if(e.remote){var n=e.path?"/":"";return e.protocol+"://"+e.host+":"+e.port+"/"+e.path+n+t}return"/"+t}function a(e,t){function n(e,t){return u.ajax(u.extend({},p,e),t)}function a(e,r,o,i){r=u.clone(r);var a=d.getHost(i),c={source:l.db,target:a.protocol===l.protocol&&a.authority===l.authority?a.db:a.source};r.continuous&&(c.continuous=!0),r.create_target&&(c.create_target=!0),r.doc_ids&&(c.doc_ids=r.doc_ids),r.filter&&"string"==typeof r.filter&&(c.filter=r.filter),r.query_params&&(c.query_params=r.query_params);var f,p={},h={headers:l.headers,method:"POST",url:s(l,"_replicate"),body:c};o.cancel=function(){this.cancelled=!0,f&&!p.ok&&f.abort(),p._local_id&&(h.body={replication_id:p._local_id}),h.body.cancel=!0,n(h,function(e,n,o){return e?t(e):void u.call(r.complete,null,p,o)})},o.cancelled||(f=n(h,function(e,n,o){return e?t(e):(p.ok=!0,n._local_id&&(p._local_id=n._local_id),void u.call(r.complete,null,n,o))}))}var d=this;d.getHost=e.getHost?e.getHost:o;var l=d.getHost(e.name,e),f=i(l,"");d.getUrl=function(){return f};var p=e.ajax||{};e=u.clone(e);var h=function(){n({headers:l.headers,method:"PUT",url:f},function(e){e&&401===e.status?n({headers:l.headers,method:"HEAD",url:f},function(e){e?t(e):t(null,d)}):e&&412!==e.status?t(e):t(null,d)})};e.skipSetup||n({headers:l.headers,method:"GET",url:f},function(e){e?404===e.status?h():t(e):t(null,d)}),d.type=function(){return"http"},d.id=u.adapterFun("id",function(e){n({headers:l.headers,method:"GET",url:s(l,"")},function(t,n){var r=n&&n.uuid?n.uuid+l.db:i(l,"");e(null,r)})}),d.request=u.adapterFun("request",function(e,t){e.headers=l.headers,e.url=i(l,e.url),n(e,t)}),d.compact=u.adapterFun("compact",function(e,t){"function"==typeof e&&(t=e,e={}),e=u.clone(e),n({headers:l.headers,url:i(l,"_compact"),method:"POST"},function(){function n(){d.info(function(r,o){o.compact_running?setTimeout(n,e.interval||200):t()})}"function"==typeof t&&n()})}),d._info=function(e){n({headers:l.headers,method:"GET",url:i(l,"")},function(t,n){t?e(t):(n.host=i(l,""),e(null,n))})},d.get=u.adapterFun("get",function(e,t,o){"function"==typeof t&&(o=t,t={}),t=u.clone(t),void 0===t.auto_encode&&(t.auto_encode=!0);var s=[];t.revs&&s.push("revs=true"),t.revs_info&&s.push("revs_info=true"),t.local_seq&&s.push("local_seq=true"),t.open_revs&&("all"!==t.open_revs&&(t.open_revs=JSON.stringify(t.open_revs)),s.push("open_revs="+t.open_revs)),t.attachments&&s.push("attachments=true"),t.rev&&s.push("rev="+t.rev),t.conflicts&&s.push("conflicts="+t.conflicts),s=s.join("&"),s=""===s?"":"?"+s,t.auto_encode&&(e=r(e));var a={headers:l.headers,method:"GET",url:i(l,e+s)},c=e.split("/");(c.length>1&&"_design"!==c[0]&&"_local"!==c[0]||c.length>2&&"_design"===c[0]&&"_local"!==c[0])&&(a.binary=!0),n(a,function(e,t,n){return e?o(e):void o(null,t,n)})}),d.remove=u.adapterFun("remove",function(e,t,o){"function"==typeof t?(o=t,t={}):"string"==typeof t?e={_id:e,_rev:t}:void 0===t&&(t={}),n({headers:l.headers,method:"DELETE",url:i(l,r(e._id))+"?rev="+e._rev},o)}),d.getAttachment=u.adapterFun("getAttachment",function(e,t,n,o){"function"==typeof n&&(o=n,n={}),n=u.clone(n),void 0===n.auto_encode&&(n.auto_encode=!0),n.auto_encode&&(e=r(e)),n.auto_encode=!1,d.get(e+"/"+t,n,o)}),d.removeAttachment=u.adapterFun("removeAttachment",function(e,t,o,s){n({headers:l.headers,method:"DELETE",url:i(l,r(e)+"/"+t)+"?rev="+o},s)}),d.putAttachment=u.adapterFun("putAttachment",function(e,t,o,s,a,u){"function"==typeof a&&(u=a,a=s,s=o,o=null),"undefined"==typeof a&&(a=s,s=o,o=null);var c=r(e)+"/"+t,d=i(l,c);o&&(d+="?rev="+o);var f={headers:l.headers,method:"PUT",url:d,processData:!1,body:s,timeout:6e4};f.headers["Content-Type"]=a,n(f,u)}),d.put=u.adapterFun("put",u.getArguments(function(e){var t,o,s,a,d=e.shift(),f="_id"in d;if("object"!=typeof d||Array.isArray(d))return(a=e.pop())(c.NOT_AN_OBJECT);for(d=u.clone(d);;)if(t=e.shift(),o=typeof t,"string"!==o||f?"string"!==o||!f||"_rev"in d?"object"===o?s=u.clone(t):"function"===o&&(a=t):d._rev=t:(d._id=t,f=!0),!e.length)break;s=s||{};var p=u.invalidIdError(d._id);if(p)return a(p);var h=[];s&&"undefined"!=typeof s.new_edits&&h.push("new_edits="+s.new_edits),h=h.join("&"),""!==h&&(h="?"+h),n({headers:l.headers,method:"PUT",url:i(l,r(d._id))+h,body:d},a)})),d.post=u.adapterFun("post",function(e,t,n){return"function"==typeof t&&(n=t,t={}),t=u.clone(t),"object"!=typeof e?n(c.NOT_AN_OBJECT):("_id"in e||(e._id=u.uuid()),void d.put(e,t,n))}),d._bulkDocs=function(e,t,r){"undefined"!=typeof t.new_edits&&(e.new_edits=t.new_edits),n({headers:l.headers,method:"POST",url:i(l,"_bulk_docs"),body:e},r)},d.allDocs=u.adapterFun("allDocs",function(e,t){"function"==typeof e&&(t=e,e={}),e=u.clone(e);var r,o=[],s="GET";if(e.conflicts&&o.push("conflicts=true"),e.descending&&o.push("descending=true"),e.include_docs&&o.push("include_docs=true"),e.key&&o.push("key="+encodeURIComponent(JSON.stringify(e.key))),e.startkey&&o.push("startkey="+encodeURIComponent(JSON.stringify(e.startkey))),e.endkey&&o.push("endkey="+encodeURIComponent(JSON.stringify(e.endkey))),"undefined"!=typeof e.inclusive_end&&o.push("inclusive_end="+!!e.inclusive_end),"undefined"!=typeof e.limit&&o.push("limit="+e.limit),"undefined"!=typeof e.skip&&o.push("skip="+e.skip),o=o.join("&"),""!==o&&(o="?"+o),"undefined"!=typeof e.keys){var a=2e3,c="keys="+encodeURIComponent(JSON.stringify(e.keys));c.length+o.length+1<=a?o+=(-1!==o.indexOf("?")?"&":"?")+c:(s="POST",r=JSON.stringify({keys:e.keys}))}n({headers:l.headers,method:s,url:i(l,"_all_docs"+o),body:r},t)}),d._changes=function(e){var t=25;e=u.clone(e),e.timeout=e.timeout||3e4;var r={timeout:e.timeout-5e3},o="undefined"!=typeof e.limit?e.limit:!1;0===o&&(o=1);var s;s="returnDocs"in e?e.returnDocs:!0;var a=o;if(e.style&&(r.style=e.style),(e.include_docs||e.filter&&"function"==typeof e.filter)&&(r.include_docs=!0),e.continuous&&(r.feed="longpoll"),e.conflicts&&(r.conflicts=!0),e.descending&&(r.descending=!0),e.filter&&"string"==typeof e.filter&&(r.filter=e.filter,"_view"===e.filter&&e.view&&"string"==typeof e.view&&(r.view=e.view)),e.query_params&&"object"==typeof e.query_params)for(var d in e.query_params)e.query_params.hasOwnProperty(d)&&(r[d]=e.query_params[d]);var f,p,h=function(s,u){if(!e.aborted){r.since=s,e.descending?o&&(r.limit=a):r.limit=!o||a>t?t:a;var c="?"+Object.keys(r).map(function(e){return e+"="+r[e]}).join("&"),d={headers:l.headers,method:"GET",url:i(l,"_changes"+c),timeout:e.timeout};p=s,e.aborted||(f=n(d,u))}},v=10,m=0,y={results:[]},_=function(n,r){if(!e.aborted){var i=0;if(r&&r.results){i=r.results.length,y.last_seq=r.last_seq;var d={};d.query=e.query_params,r.results=r.results.filter(function(t){a--;var n=u.filterChange(e)(t);return n&&(s&&y.results.push(t),u.call(e.onChange,t)),n})}else if(n)return e.aborted=!0,void u.call(e.complete,n);r&&r.last_seq&&(p=r.last_seq);var l=o&&0>=a||r&&t>i||e.descending;if((!e.continuous||o&&0>=a)&&l)u.call(e.complete,null,y);else{n?m+=1:m=0;var f=1<<m,g=v*f,b=e.maximumWait||3e4;if(g>b)return void u.call(e.complete,n||c.UNKNOWN_ERROR);setTimeout(function(){h(p,_)},g)}}};return h(e.since||0,_),{cancel:function(){e.aborted=!0,f&&f.abort()}}},d.revsDiff=u.adapterFun("revsDif",function(e,t,r){"function"==typeof t&&(r=t,t={}),n({headers:l.headers,method:"POST",url:i(l,"_revs_diff"),body:e},function(e,t){r(e,t)})}),d._close=function(e){e()},d.replicateOnServer=function(e,t,n){return d.taskqueue.isReady?void e.info(function(r,o){a(e,t,n,o.host)}):(d.taskqueue.addTask("replicateOnServer",[e,t,n]),n)},d.destroy=u.adapterFun("destroy",function(e){n({url:i(l,""),method:"DELETE",headers:l.headers},function(t,n){t?(d.emit("error",t),e(t)):(d.emit("destroyed"),e(null,n))})})}var u=e("../utils"),c=e("../deps/errors");n.options={strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}},a.destroy=u.toPromise(function(e,t,n){var r=o(e,t);t=t||{},"function"==typeof t&&(n=t,t={}),t=u.clone(t),t.headers=r.headers,t.method="DELETE",t.url=i(r,"");var s=t.ajax||{};t=u.extend({},t,s),u.ajax(t,n)}),a.valid=function(){return!0},t.exports=a},{"../deps/errors":10,"../utils":21}],3:[function(e,t){(function(n,r){"use strict";function o(e,t,n){try{e.apply(t,n)}catch(r){window.PouchDB&&window.PouchDB.emit("error",r)}}function i(){if(!v.running&&v.queue.length){v.running=!0;var e=v.queue.shift();e.action(function(t,r){o(e.callback,this,[t,r]),v.running=!1,n.nextTick(i)})}}function s(e){return function(t){var n=t.target&&t.target.error&&t.target.error.name||t.target;e(p.error(p.IDB_ERROR,n,t.type))}}function a(){var e="_pouch__checkModernIdb_"+(r.navigator&&r.navigator.appVersion),t=l.hasLocalStorage()&&r.localStorage[e];if(t)return JSON.parse(t);var n="_pouch__checkModernIdb",o=null===r.indexedDB.open(n,1).onupgradeneeded;return r.indexedDB.deleteDatabase&&r.indexedDB.deleteDatabase(n),l.hasLocalStorage()&&(r.localStorage[e]=JSON.stringify(o)),o}function u(e,t){var n=this;v.queue.push({action:function(t){c(n,e,t)},callback:t}),i()}function c(e,t,o){function i(e){e.createObjectStore(y,{keyPath:"id"}).createIndex("seq","seq",{unique:!0}),e.createObjectStore(_,{autoIncrement:!0}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0}),e.createObjectStore(g,{keyPath:"digest"}),e.createObjectStore(b,{keyPath:"id",autoIncrement:!1}),e.createObjectStore(w)}function a(e){var t=e.currentTarget.transaction.objectStore(y);t.openCursor().onsuccess=function(e){var n=e.target.result;if(n){var r=n.value,o=l.isDeleted(r),i=l.isLocalId(r.id);r.deletedOrLocal=o||i?"1":"0",t.put(r),n["continue"]()}else t.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1})}}function c(e,t){return e._bulk_seq-t._bulk_seq}function d(e,t,n){var o="startkey"in t?t.startkey:!1,i="endkey"in t?t.endkey:!1,s="key"in t?t.key:!1,a=t.skip||0,u="number"==typeof t.limit?t.limit:-1,c=t.inclusive_end!==!1,d="descending"in t&&t.descending?"prev":null,h=!1;d&&o&&i&&(h=i,i=!1);var v=null;try{o&&i?v=r.IDBKeyRange.bound(o,i,!1,!c):o?v=d?r.IDBKeyRange.upperBound(o):r.IDBKeyRange.lowerBound(o):i?v=d?r.IDBKeyRange.lowerBound(i,!c):r.IDBKeyRange.upperBound(i,!c):s&&(v=r.IDBKeyRange.only(s))}catch(m){return"DataError"===m.name&&0===m.code?n(null,{total_rows:e,offset:t.skip,rows:[]}):n(p.error(p.IDB_ERROR,m.name,m.message))}var g=x.transaction([y,_],"readonly");g.oncomplete=function(){n(null,{total_rows:e,offset:t.skip,rows:E})};var b=g.objectStore(y),w=d?b.openCursor(v,d):b.openCursor(v),E=[];w.onsuccess=function(e){function n(e,n){if(l.isLocalId(e.id))return r["continue"]();var o={id:e.id,key:e.id,value:{rev:i}};if(t.include_docs){o.doc=n,o.doc._rev=i,o.doc._doc_id_rev&&delete o.doc._doc_id_rev,t.conflicts&&(o.doc._conflicts=f.collectConflicts(e));for(var s in o.doc._attachments)o.doc._attachments.hasOwnProperty(s)&&(o.doc._attachments[s].stub=!0)}var d=l.isDeleted(e,i);if("ok"===t.deleted)d&&(o.value.deleted=!0,o.doc=null),E.push(o);else if(!d&&a--<=0){if(h){if(c&&o.key<h)return;if(!c&&o.key<=h)return}if(E.push(o),0===--u)return}r["continue"]()}if(e.target.result){var r=e.target.result,o=r.value,i=o.winningRev||f.winningRev(o);if(t.include_docs){var s=g.objectStore(_).index("_doc_id_rev"),d=o.id+"::"+i;s.get(d).onsuccess=function(e){n(r.value,e.target.result)}}else n(o)}}}function v(e){if(-1!==T)return e(null,T);var t,n=x.transaction([y],"readonly"),o=n.objectStore(y).index("deletedOrLocal");o.count(r.IDBKeyRange.only("0")).onsuccess=function(e){t=e.target.result},n.onerror=s(e),n.oncomplete=function(){T=t,e(null,T)}}var m=2,y="document-store",_="by-sequence",g="attach-store",b="meta-store",w="detect-blob-support",E=t.name,S=null,k=null,q=!1,x=null,T=-1;e.type=function(){return"idb"},e._id=l.toPromise(function(e){e(null,k)}),e._bulkDocs=function(e,t,n){function r(e){var t=e.target.result;t.updateSeq=(t.updateSeq||0)+I,L.objectStore(b).put(t)}function o(){if(!D.length)return void(L.objectStore(b).get(b).onsuccess=r);var e=D.shift(),t=e.metadata.id;if(t in C)return v(C[t],e);var n=L.objectStore(y).get(t);n.onsuccess=function(t){var n=t.target.result;n?v(n,e):m(e)}}function i(){var e=[];A.sort(c),A.forEach(function(t){if(delete t._bulk_seq,t.error)return void e.push(t);var n=t.metadata,r=f.winningRev(n);e.push({ok:!0,id:n.id,rev:r}),l.isLocalId(n.id)}),u.Changes.notify(E),T=-1,n(null,e)}function a(e,t){if(e.stub)return t();if("string"==typeof e.data){var r;try{r=atob(e.data)}catch(o){var i=p.error(p.BAD_ARG,"Attachments need to be base64 encoded");return n(i)}if(e.digest="md5-"+l.MD5(r),S){var s=e.content_type;r=l.fixBinary(r),e.data=l.createBlob([r],{type:s})}return t()}var a=new FileReader;a.onloadend=function(){var n=l.arrayBufferToBinaryString(this.result);e.digest="md5-"+l.MD5(n),S||(e.data=btoa(n)),t()},a.readAsArrayBuffer(e.data)}function d(e){function t(){n++,D.length===n&&e()}if(!D.length)return e();var n=0;D.forEach(function(e){function n(){o++,o===r.length&&t()}var r=e.data&&e.data._attachments?Object.keys(e.data._attachments):[];if(!r.length)return t();var o=0;for(var i in e.data._attachments)e.data._attachments.hasOwnProperty(i)&&a(e.data._attachments[i],n)})}function h(e,t,n,r){function o(e){a||(e?(a=e,r(a)):u===c.length&&s())}function i(e){u++,o(e)}function s(){e.data._doc_id_rev=e.data._id+"::"+e.data._rev;var o=L.objectStore(_).index("_doc_id_rev");o.getKey(e.data._doc_id_rev).onsuccess=function(o){var i=o.target.result?L.objectStore(_).put(e.data,o.target.result):L.objectStore(_).put(e.data);i.onsuccess=function(o){var i=e.metadata;i.seq=o.target.result,delete i.rev;var s=l.isLocalId(i.id);i.deletedOrLocal=n||s?"1":"0",i.winningRev=t;var a=L.objectStore(y).put(i);a.onsuccess=function(){delete i.deletedOrLocal,delete i.winningRev,A.push(e),C[e.metadata.id]=e.metadata,l.call(r)}}}}var a=null,u=0;e.data._id=e.metadata.id,e.data._rev=e.metadata.rev,I++,n&&(e.data._deleted=!0);var c=e.data._attachments?Object.keys(e.data._attachments):[];for(var d in e.data._attachments)if(e.data._attachments[d].stub)u++,o();else{var f=e.data._attachments[d].data;delete e.data._attachments[d].data;var p=e.data._attachments[d].digest;k(e,p,f,i)}c.length||s()}function v(e,t){var n=f.merge(e.rev_tree,t.metadata.rev_tree[0],1e3),r=l.isDeleted(e),i=l.isDeleted(t.metadata),s=r&&i&&q||!r&&q&&"new_leaf"!==n.conflicts;if(s)return A.push(w(p.REV_CONFLICT,t._bulk_seq)),o();t.metadata.rev_tree=n.tree;var a=f.winningRev(t.metadata);i=l.isDeleted(t.metadata,a),h(t,a,i,o)}function m(e){var n=f.winningRev(e.metadata),r=l.isDeleted(e.metadata,n);return"was_delete"in t&&r?(A.push(p.MISSING_DOC),o()):void h(e,n,r,o)}function w(e,t){return e._bulk_seq=t,e}function k(e,t,n,r){var o=L.objectStore(g);o.get(t).onsuccess=function(i){var s=i.target.result&&i.target.result.refs||{},a=[e.metadata.id,e.metadata.rev].join("@"),u={digest:t,body:n,refs:s};u.refs[a]=!0,o.put(u).onsuccess=function(){l.call(r)}}}var q=t.new_edits,O=e.docs,D=O.map(function(e,t){var n=l.parseDoc(e,q);return n._bulk_seq=t,n}),R=D.filter(function(e){return e.error});if(R.length)return n(R[0]);var L,A=[],C={},I=0;d(function(){L=x.transaction([y,_,g,b],"readwrite"),L.onerror=s(n),L.ontimeout=s(n),L.oncomplete=i,o()})},e._get=function(e,t,n){function r(){n(s,{doc:o,metadata:i,ctx:a})}var o,i,s,a;t=l.clone(t),a=t.ctx?t.ctx:x.transaction([y,_,g],"readonly"),a.objectStore(y).get(e).onsuccess=function(e){if(i=e.target.result,!i)return s=p.MISSING_DOC,r();if(l.isDeleted(i)&&!t.rev)return s=p.error(p.MISSING_DOC,"deleted"),r();var n=a.objectStore(_),u=t.rev||i.winningRev||f.winningRev(i),c=i.id+"::"+u;n.index("_doc_id_rev").get(c).onsuccess=function(e){return o=e.target.result,o&&o._doc_id_rev&&delete o._doc_id_rev,o?void r():(s=p.MISSING_DOC,r())}}},e._getAttachment=function(e,t,n){var r,o;t=l.clone(t),o=t.ctx?t.ctx:x.transaction([y,_,g],"readonly");var i=e.digest,s=e.content_type;o.objectStore(g).get(i).onsuccess=function(e){var o=e.target.result.body;if(t.encode)if(S){var i=new FileReader;i.onloadend=function(){var e=l.arrayBufferToBinaryString(this.result);r=btoa(e),n(null,r)},i.readAsArrayBuffer(o)}else r=o,n(null,r);else S?r=o:(o=l.fixBinary(atob(o)),r=l.createBlob([o],{type:s})),n(null,r)}},e._allDocs=function(e,t){v(function(n,r){return n?t(n):0===e.limit?t(null,{total_rows:r,offset:e.skip,rows:[]}):void d(r,e,t)})},e._info=function(e){v(function(t,n){if(t)return e(t);if(null===x){var r=new Error("db isn't open");return r.id="idbNull",e(r)}var o=0,i=x.transaction([b],"readonly");i.objectStore(b).get(b).onsuccess=function(e){o=e.target.result&&e.target.result.updateSeq||0},i.oncomplete=function(){e(null,{db_name:E,doc_count:n,update_seq:o})}})},e._changes=function(t){function n(){h=x.transaction([y,_]),h.oncomplete=i;var e;e=a?h.objectStore(_).openCursor(r.IDBKeyRange.lowerBound(t.since,!0),a):h.objectStore(_).openCursor(r.IDBKeyRange.lowerBound(t.since,!0)),e.onsuccess=o,e.onerror=onerror}function o(e){var n=e.target.result;if(n){var r=n.value;if(l.isLocalId(r._id)||t.doc_ids&&-1===t.doc_ids.indexOf(r._id))return n["continue"]();var o=h.objectStore(y);o.get(r._id).onsuccess=function(e){var o=e.target.result;c<o.seq&&(c=o.seq);var i=o.winningRev||f.winningRev(o);if(r._rev!==i)return n["continue"]();delete r._doc_id_rev;var s=t.processChange(r,o,t);s.seq=n.key,g(s)&&(m++,p&&v.push(s),t.onChange(s)),m!==d&&n["continue"]()}}}function i(){t.continuous||t.complete(null,{results:v,last_seq:c})}if(t=l.clone(t),t.continuous){var s=E+":"+l.uuid();return u.Changes.addListener(E,s,e,t),u.Changes.notify(E),{cancel:function(){u.Changes.removeListener(E,s)}}}var a=t.descending?"prev":null,c=0;t.since=t.since&&!a?t.since:0;var d="limit"in t?t.limit:-1;0===d&&(d=1);var p;p="returnDocs"in t?t.returnDocs:!0;var h,v=[],m=0,g=l.filterChange(t);n()},e._close=function(e){return null===x?e(p.NOT_OPEN):(x.close(),delete h[E],x=null,void e())},e._getRevisionTree=function(e,t){var n=x.transaction([y],"readonly"),r=n.objectStore(y).get(e);r.onsuccess=function(e){var n=e.target.result;n?t(null,n.rev_tree):t(p.MISSING_DOC)}},e._doCompaction=function(e,t,n,r){var o=x.transaction([y,_],"readwrite"),i=o.objectStore(y);i.get(e).onsuccess=function(r){var i=r.target.result;i.rev_tree=t;var s=n.length;n.forEach(function(t){var n=o.objectStore(_).index("_doc_id_rev"),r=e+"::"+t;n.getKey(r).onsuccess=function(e){var t=e.target.result;t&&(o.objectStore(_)["delete"](t),s--,s||o.objectStore(y).put(i))}})},o.oncomplete=function(){l.call(r)}};var O=h[E];if(O)return x=O.idb,S=O.blobSupport,k=O.instanceId,q=O.idStored,void n.nextTick(function(){o(null,e)});var D=r.indexedDB.open(E,m);"openReqList"in u||(u.openReqList={}),u.openReqList[E]=D,D.onupgradeneeded=function(e){var t=e.target.result;e.oldVersion<1&&i(t),e.oldVersion<2&&a(e)},D.onsuccess=function(t){x=t.target.result,x.onversionchange=function(){x.close(),delete h[E]},x.onabort=function(){x.close(),delete h[E]};var n=x.transaction([b,w],"readwrite"),r=n.objectStore(b).get(b);r.onsuccess=function(t){var r=function(){null!==S&&q&&(h[E]={idb:x,blobSupport:S,instanceId:k,idStored:q,loaded:!0},o(null,e))},i=t.target.result||{id:b};E+"_id"in i?(k=i[E+"_id"],q=!0,r()):(k=l.uuid(),i[E+"_id"]=k,n.objectStore(b).put(i).onsuccess=function(){q=!0,r()});try{n.objectStore(w).put(l.createBlob(),"key"),S=!0}catch(s){S=!1}finally{r()}}},D.onerror=s(o)}function d(e,t,n){"openReqList"in u||(u.openReqList={}),u.Changes.removeAllListeners(e),u.openReqList[e]&&u.openReqList[e].result&&u.openReqList[e].result.close();var o=r.indexedDB.deleteDatabase(e);o.onsuccess=function(){u.openReqList[e]&&(u.openReqList[e]=null),l.hasLocalStorage()&&delete r.localStorage[e],delete h[e],n(null,{ok:!0})},o.onerror=s(n)}var l=e("../utils"),f=e("../merge"),p=e("../deps/errors"),h={},v={running:!1,queue:[]};u.valid=function(){return r.indexedDB&&a()},u.destroy=l.toPromise(function(e,t,n){v.queue.push({action:function(n){d(e,t,n)},callback:n}),i()}),u.Changes=new l.Changes,t.exports=u}).call(this,e("/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../deps/errors":10,"../merge":16,"../utils":21,"/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":26}],4:[function(e,t){t.exports=["idb","websql"]},{}],5:[function(e,t){(function(n){"use strict";function r(e){return"'"+e+"'"}function o(e,t,n,r,o){return"SELECT "+e+" FROM "+("string"==typeof t?t:t.join(" JOIN "))+(n?" ON "+n:"")+(r?" WHERE "+("string"==typeof r?r:r.join(" AND ")):"")+(o?" ORDER BY "+o:"")}function i(e){return function(t){var n=t&&t.constructor.toString().match(/function ([^\(]+)/),r=n&&n[1]||t.type,o=t.target||t.message;e(l.error(l.WSQ_ERROR,o,r))}}function s(e){return decodeURIComponent(window.escape(e))}function a(e,t){for(var n="",r="UTF-8"===t?2:4,o=0,i=e.length;i>o;o+=r){var a=e.substring(o,o+r);4===r&&(a=a.substring(2,4)+a.substring(0,2)),n+=String.fromCharCode(parseInt(a,16))}return n="UTF-8"===t?s(n):n}function u(e,t){function r(){c.hasLocalStorage()&&(n.localStorage["_pouch__websqldb_"+C]=!0),t(null,L)}function s(e){e.executeSql(S),e.executeSql("ALTER TABLE "+_+" ADD COLUMN deleted TINYINT(1) DEFAULT 0",[],function(){e.executeSql(w),e.executeSql("ALTER TABLE "+y+" ADD COLUMN local TINYINT(1) DEFAULT 0",[],function(){e.executeSql(E);var t="SELECT "+y+".winningseq AS seq, "+y+".json AS metadata FROM "+_+" JOIN "+y+" ON "+_+".seq = "+y+".winningseq";
e.executeSql(t,[],function(e,t){for(var n=[],r=[],o=0;o<t.rows.length;o++){var i=t.rows.item(o),s=i.seq,a=JSON.parse(i.metadata);c.isDeleted(a)&&n.push(s),c.isLocalId(a.id)&&r.push(a.id)}e.executeSql("UPDATE "+y+"SET local = 1 WHERE id IN ("+r.map(function(){return"?"}).join(",")+")",r),e.executeSql("UPDATE "+_+" SET deleted = 1 WHERE seq IN ("+n.map(function(){return"?"}).join(",")+")",n)})})})}function f(e){for(;I.length>0;){var t=I.pop();t(null,A)}x(e)}function x(e){e.executeSql("SELECT dbid, hex(dbid) AS hexId FROM "+b,[],function(e,t){var n=t.rows.item(0).dbid,r=t.rows.item(0).hexId;R=r.length===2*n.length?"UTF-8":"UTF-16"})}function T(e,t){if(0===t){var n="CREATE TABLE IF NOT EXISTS "+b+" (update_seq, dbid, db_version INTEGER)",r="CREATE TABLE IF NOT EXISTS "+g+" (digest, json, body BLOB)",o="CREATE TABLE IF NOT EXISTS "+y+" (id unique, json, winningseq, local TINYINT(1))",i="CREATE TABLE IF NOT EXISTS "+_+" (seq INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, doc_id_rev UNIQUE, json, deleted TINYINT(1))";e.executeSql(r),e.executeSql(o,[],function(){e.executeSql(S),e.executeSql(E)}),e.executeSql(i,[],function(){e.executeSql(w)}),e.executeSql(n,[],function(){var t="INSERT INTO "+b+" (update_seq, db_version, dbid) VALUES (?, ?, ?)";A=c.uuid(),e.executeSql(t,[0,m,A]),f(e)})}else 1===t&&(s(e),e.executeSql("UPDATE "+b+" SET db_version = "+m)),e.executeSql("SELECT dbid FROM "+b,[],function(e,t){A=t.rows.item(0).dbid,f(e)})}function O(){j.transaction(function(e){e.executeSql("SELECT sql FROM sqlite_master WHERE tbl_name = "+b,[],function(e,t){t.rows.length?/db_version/.test(t.rows.item(0).sql)?e.executeSql("SELECT db_version FROM "+b,[],function(e,t){var n=t.rows.item(0).db_version;T(e,n)}):e.executeSql("ALTER TABLE "+b+" ADD COLUMN db_version INTEGER",[],function(){T(e,1)}):T(e,0)})},i(t),r)}function D(e,t){if(-1!==N)return t(N);var n=o("COUNT("+y+".id) AS 'num'",[y,_],k,[_+".deleted=0",y+".local=0"]);e.executeSql(n,[],function(e,n){N=n.rows.item(0).num,t(N)})}var R,L=this,A=null,C=e.name,I=[],N=-1,j=p(C,h,C,v);return j?("function"!=typeof j.readTransaction&&(j.readTransaction=j.transaction),c.isCordova()&&"undefined"!=typeof n?n.addEventListener(C+"_pouch",function F(){n.removeEventListener(C+"_pouch",F,!1),O()},!1):O(),L.type=function(){return"websql"},L._id=c.toPromise(function(e){e(null,A)}),L._info=function(e){j.readTransaction(function(t){D(t,function(n){var r="SELECT update_seq FROM "+b;t.executeSql(r,[],function(t,r){var o=r.rows.item(0).update_seq;e(null,{db_name:C,doc_count:n,update_seq:o})})})},i(e))},L._bulkDocs=function(e,t,n){function r(e,t){return e._bulk_seq-t._bulk_seq}function s(){var e=[];D.sort(r),D.forEach(function(t){if(delete t._bulk_seq,t.error)return void e.push(t);var n=t.metadata,r=d.winningRev(n);e.push({ok:!0,id:n.id,rev:r}),c.isLocalId(n.id)||q++}),u.Changes.notify(C);var t="SELECT update_seq FROM "+b;O.executeSql(t,[],function(t,r){var o=r.rows.item(0).update_seq+q,i="UPDATE "+b+" SET update_seq=?";t.executeSql(i,[o],function(){n(null,e)})})}function a(e,t){if(e.stub)return t();if("string"==typeof e.data){try{e.data=atob(e.data)}catch(r){var o=l.error(l.BAD_ARG,"Attachments need to be base64 encoded");return n(o)}var i=c.fixBinary(e.data);e.data=c.createBlob([i],{type:e.content_type})}var s=new FileReader;s.onloadend=function(){var n=c.arrayBufferToBinaryString(this.result);e.data=n,e.digest="md5-"+c.MD5(n),t()},s.readAsArrayBuffer(e.data)}function f(e){function t(){n++,x.length===n&&e()}if(!x.length)return e();var n=0;x.forEach(function(e){function n(){o++,o===r.length&&t()}var r=e.data&&e.data._attachments?Object.keys(e.data._attachments):[],o=0;if(!r.length)return t();for(var i in e.data._attachments)e.data._attachments.hasOwnProperty(i)&&a(e.data._attachments[i],n)})}function p(e,t,n,r,i){function s(){var t=e.data,r=t._id+"::"+t._rev,i=n?1:0,s=o("seq",_,null,"doc_id_rev=?");O.executeSql(s,[r],function(e,n){var o,s;n.rows.length?(o="UPDATE "+_+" SET json=?, deleted=? WHERE doc_id_rev=?;",s=[JSON.stringify(t),i,r],O.executeSql(o,s,function(e){d(e,n.rows.item(0).seq)})):(o="INSERT INTO "+_+" (doc_id_rev, json, deleted) VALUES (?, ?, ?);",s=[r,JSON.stringify(t),i],O.executeSql(o,s,function(e,t){d(e,t.insertId)}))})}function a(e){l||(e?(l=e,r(l)):f===p.length&&s())}function u(e){f++,a(e)}function d(n,o){e.metadata.seq=o,delete e.metadata.rev;var s=i?"UPDATE "+y+" SET json=?, winningseq=(SELECT seq FROM "+_+" WHERE doc_id_rev=?) WHERE id=?":"INSERT INTO "+y+" (id, winningseq, json, local) VALUES (?, ?, ?, ?);",a=JSON.stringify(e.metadata),u=e.metadata.id+"::"+t,d=c.isLocalId(e.metadata.id)?1:0,l=i?[a,u,e.metadata.id]:[e.metadata.id,o,a,d];n.executeSql(s,l,function(){D.push(e),R[e.metadata.id]=e.metadata,r()})}var l=null,f=0;e.data._id=e.metadata.id,e.data._rev=e.metadata.rev,n&&(e.data._deleted=!0);var p=e.data._attachments?Object.keys(e.data._attachments):[];for(var h in e.data._attachments)if(e.data._attachments[h].stub)f++,a();else{var v=e.data._attachments[h].data;delete e.data._attachments[h].data;var m=e.data._attachments[h].digest;E(e,m,v,u)}p.length||s()}function h(e,t){var n=d.merge(e.rev_tree,t.metadata.rev_tree[0],1e3),r=c.isDeleted(t.metadata),o=c.isDeleted(e),i=o&&r&&S||!o&&S&&"new_leaf"!==n.conflicts;if(i)return D.push(w(l.REV_CONFLICT,t._bulk_seq)),m();t.metadata.rev_tree=n.tree;var s=d.winningRev(t.metadata);r=c.isDeleted(t.metadata,s),p(t,s,r,m,!0)}function v(e){var n=d.winningRev(e.metadata),r=c.isDeleted(e.metadata,n);return"was_delete"in t&&r?(D.push(l.MISSING_DOC),m()):void p(e,n,r,m,!1)}function m(){if(!x.length)return s();var e=x.shift(),t=e.metadata.id;return t in R?h(R[t],e):void O.executeSql("SELECT json FROM "+y+" WHERE id = ?",[t],function(t,n){if(n.rows.length){var r=JSON.parse(n.rows.item(0).json);h(r,e)}else v(e)})}function w(e,t){return e._bulk_seq=t,e}function E(e,t,n,r){var o=[e.metadata.id,e.metadata.rev].join("@"),i={digest:t},s="SELECT digest, json FROM "+g+" WHERE digest=?";O.executeSql(s,[t],function(e,a){a.rows.length?(i.refs=JSON.parse(a.rows.item(0).json).refs,s="UPDATE "+g+" SET json=?, body=? WHERE digest=?",e.executeSql(s,[JSON.stringify(i),n,t],function(){r()})):(i.refs={},i.refs[o]=!0,s="INSERT INTO "+g+"(digest, json, body) VALUES (?, ?, ?)",e.executeSql(s,[t,JSON.stringify(i),n],function(){r()}))})}var S=t.new_edits,k=e.docs,q=0,x=k.map(function(e,t){var n=c.parseDoc(e,S);return n._bulk_seq=t,n}),T=x.filter(function(e){return e.error});if(T.length)return n(T[0]);var O,D=[],R={};f(function(){j.transaction(function(e){O=e,m()},i(n),function(){N=-1})})},L._get=function(e,t,n){function r(){n(a,{doc:i,metadata:s,ctx:f})}t=c.clone(t);var i,s,a;if(!t.ctx)return void j.readTransaction(function(r){t.ctx=r,L._get(e,t,n)});var u,d,f=t.ctx;t.rev?(u=o(q,[y,_],null,[_+".doc_id_rev=?",y+".id=?"]),d=[e+"::"+t.rev,e]):(u=o(q,[y,_],k,y+".id=?"),d=[e]),f.executeSql(u,d,function(e,n){if(!n.rows.length)return a=l.MISSING_DOC,r();var o=n.rows.item(0);return s=JSON.parse(o.metadata),o.deleted&&!t.rev?(a=l.error(l.MISSING_DOC,"deleted"),r()):(i=JSON.parse(o.data),void r())})},L._allDocs=function(e,t){var n,r=[],s="startkey"in e?e.startkey:!1,a="endkey"in e?e.endkey:!1,u="key"in e?e.key:!1,c="descending"in e?e.descending:!1,l="limit"in e?e.limit:-1,f="skip"in e?e.skip:0,p=e.inclusive_end!==!1,h=[],v=[y+".local = 0"];if(u!==!1)v.push(y+".id = ?"),h.push(u);else if(s!==!1||a!==!1){if(s!==!1&&(v.push(y+".id "+(c?"<=":">=")+" ?"),h.push(s)),a!==!1){var m=c?">":"<";p&&(m+="="),v.push(y+".id "+m+" ?"),h.push(a)}u!==!1&&(v.push(y+".id = ?"),h.push(u))}"ok"!==e.deleted&&v.push(_+".deleted = 0"),j.readTransaction(function(t){D(t,function(i){if(n=i,0!==l){var s=o(q,[y,_],k,v,y+".id "+(c?"DESC":"ASC"));s+=" LIMIT "+l+" OFFSET "+f,t.executeSql(s,h,function(t,n){for(var o=0,i=n.rows.length;i>o;o++){var s=n.rows.item(o),a=JSON.parse(s.metadata),u=JSON.parse(s.data),c=u._rev,l={id:a.id,key:a.id,value:{rev:c}};if(e.include_docs){l.doc=u,l.doc._rev=c,e.conflicts&&(l.doc._conflicts=d.collectConflicts(a));for(var f in l.doc._attachments)l.doc._attachments.hasOwnProperty(f)&&(l.doc._attachments[f].stub=!0)}if(s.deleted){if("ok"!==e.deleted)continue;l.value.deleted=!0,l.doc=null}r.push(l)}})}})},i(t),function(){t(null,{total_rows:n,offset:e.skip,rows:r})})},L._changes=function(e){function t(){var t=[y+".winningseq > "+e.since,y+".local = 0"],n=[];e.doc_ids&&(t.push(y+".id IN ("+e.doc_ids.map(function(){return"?"}).join(",")+")"),n=e.doc_ids);var u=o(q,[y,_],k,t,y+".winningseq "+(r?"DESC":"ASC")),l=c.filterChange(e);e.view||e.filter||(u+=" LIMIT "+i),j.readTransaction(function(t){t.executeSql(u,n,function(t,n){for(var r=0,o=0,u=n.rows.length;u>o;o++){var c=n.rows.item(o),f=JSON.parse(c.metadata);r<c.seq&&(r=c.seq);var p=JSON.parse(c.data),h=e.processChange(p,f,e);if(h.seq=c.seq,l(h)&&(d++,s&&a.push(h),e.onChange(h)),d===i)break}e.continuous||e.complete(null,{results:a,last_seq:r})})})}if(e=c.clone(e),e.continuous){var n=C+":"+c.uuid();return u.Changes.addListener(C,n,L,e),u.Changes.notify(C),{cancel:function(){u.Changes.removeListener(C,n)}}}var r=e.descending;e.since=e.since&&!r?e.since:0;var i="limit"in e?e.limit:-1;0===i&&(i=1);var s;s="returnDocs"in e?e.returnDocs:!0;var a=[],d=0;t()},L._close=function(e){e()},L._getAttachment=function(e,t,n){var r,o=t.ctx,i=e.digest,s=e.content_type,u="SELECT hex(body) as body FROM "+g+" WHERE digest=?";o.executeSql(u,[i],function(e,o){var i=a(o.rows.item(0).body,R);t.encode?r=btoa(i):(i=c.fixBinary(i),r=c.createBlob([i],{type:s})),n(null,r)})},L._getRevisionTree=function(e,t){j.readTransaction(function(n){var r="SELECT json AS metadata FROM "+y+" WHERE id = ?";n.executeSql(r,[e],function(e,n){if(n.rows.length){var r=JSON.parse(n.rows.item(0).metadata);t(null,r.rev_tree)}else t(l.MISSING_DOC)})})},void(L._doCompaction=function(e,t,n,r){return n.length?void j.transaction(function(o){var i="SELECT json AS metadata FROM "+y+" WHERE id = ?";o.executeSql(i,[e],function(o,i){if(!i.rows.length)return c.call(r);var s=JSON.parse(i.rows.item(0).metadata);s.rev_tree=t;var a=0;n.forEach(function(t){var i=e+"::"+t,u="DELETE FROM "+_+" WHERE doc_id_rev = ?";o.executeSql(u,[i],function(t){if(++a===n.length){var o="UPDATE "+y+" SET json = ? WHERE id = ?";t.executeSql(o,[JSON.stringify(s),e],function(){r()})}})})})}):r()})):t(l.UNKNOWN_ERROR)}var c=e("../utils"),d=e("../merge"),l=e("../deps/errors"),f={},p=c.getArguments(function(e){if("undefined"!=typeof n){if(n.navigator&&n.navigator.sqlitePlugin&&n.navigator.sqlitePlugin.openDatabase)return navigator.sqlitePlugin.openDatabase.apply(navigator.sqlitePlugin,e);if(n.sqlitePlugin&&n.sqlitePlugin.openDatabase)return n.sqlitePlugin.openDatabase.apply(n.sqlitePlugin,e);var t=f[e[0]];return t||(t=f[e[0]]=n.openDatabase.apply(n,e)),t}}),h=1,v=0,m=2,y=r("document-store"),_=r("by-sequence"),g=r("attach-store"),b=r("metadata-store"),w="CREATE INDEX IF NOT EXISTS 'by-seq-deleted-idx' ON "+_+" (seq, deleted)",E="CREATE INDEX IF NOT EXISTS 'doc-store-local-idx' ON "+y+" (local, id)",S="CREATE INDEX IF NOT EXISTS 'doc-winningseq-idx' ON "+y+" (winningseq)",k=_+".seq = "+y+".winningseq",q=_+".seq AS seq, "+_+".deleted AS deleted, "+_+".json AS data, "+y+".json AS metadata";u.valid=function(){if("undefined"!=typeof n){if(n.navigator&&n.navigator.sqlitePlugin&&n.navigator.sqlitePlugin.openDatabase)return!0;if(n.sqlitePlugin&&n.sqlitePlugin.openDatabase)return!0;if(n.openDatabase)return!0}return!1},u.destroy=c.toPromise(function(e,t,r){u.Changes.removeAllListeners(e);var o=p(e,h,e,v);o.transaction(function(e){var t=[y,_,g,b];t.forEach(function(t){e.executeSql("DROP TABLE IF EXISTS "+t,[])})},i(r),function(){c.hasLocalStorage()&&(delete n.localStorage["_pouch__websqldb_"+e],delete n.localStorage[e]),r(null,{ok:!0})})}),u.Changes=new c.Changes,t.exports=u}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../deps/errors":10,"../merge":16,"../utils":21}],6:[function(e,t){"use strict";function n(e,t,n){function r(){i.cancel()}a.call(this);var i=this;this.db=e,t=t?o.clone(t):{};var s=n||t.complete||function(){},u=t.complete=o.once(function(t,n){t?i.emit("error",t):i.emit("complete",n),i.removeAllListeners(),e.removeListener("destroyed",r)});s&&(i.on("complete",function(e){s(null,e)}),i.on("error",function(e){s(e)}));var c=t.onChange;c&&i.on("change",c),e.once("destroyed",r),t.onChange=function(e){t.isCancelled||(i.emit("change",e),i.startSeq&&i.startSeq<=e.seq&&(i.emit("uptodate"),i.startSeq=!1),e.deleted?i.emit("delete",e):1===e.changes.length&&"1-"===e.changes[0].rev.slice(0,2)?i.emit("create",e):i.emit("update",e))};var d=new o.Promise(function(e,n){t.complete=function(t,r){t?n(t):e(r)}});i.once("cancel",function(){c&&i.removeListener("change",c),t.complete(null,{status:"cancelled"})}),this.then=d.then.bind(d),this["catch"]=d["catch"].bind(d),this.then(function(e){u(null,e)},u),e.taskqueue.isReady?i.doChanges(t):e.taskqueue.addTask(function(){i.isCancelled?i.emit("cancel"):i.doChanges(t)})}function r(e,t,n){var r=[{rev:e._rev}];"all_docs"===n.style&&(r=i.collectLeaves(t.rev_tree).map(function(e){return{rev:e.rev}}));var s={id:t.id,changes:r,doc:e};return o.isDeleted(t,e._rev)&&(s.deleted=!0),n.conflicts&&(s.doc._conflicts=i.collectConflicts(t),s.doc._conflicts.length||delete s.doc._conflicts),s}var o=e("./utils"),i=e("./merge"),s=e("./deps/errors"),a=e("events").EventEmitter,u=e("./evalFilter"),c=e("./evalView");t.exports=n,o.inherits(n,a),n.prototype.cancel=function(){this.isCancelled=!0,this.db.taskqueue.isReady&&this.emit("cancel")},n.prototype.doChanges=function(e){var t=this,n=e.complete;if(e=o.clone(e),"live"in e&&!("continuous"in e)&&(e.continuous=e.live),e.processChange=r,"latest"===e.since&&(e.since="now"),e.since||(e.since=0),"now"===e.since)return void this.db.info().then(function(r){return t.isCancelled?void n(null,{status:"cancelled"}):(e.since=r.update_seq-1,void t.doChanges(e))},n);if(e.continuous&&"now"!==e.since&&this.db.info().then(function(e){t.startSeq=e.update_seq-1},function(e){if("idbNull"!==e.id)throw e}),"http"!==this.db.type()&&e.filter&&"string"==typeof e.filter)return this.filterChanges(e);"descending"in e||(e.descending=!1),e.limit=0===e.limit?1:e.limit,e.complete=n;var i=this.db._changes(e);if(i&&"function"==typeof i.cancel){var s=t.cancel;t.cancel=o.getArguments(function(e){i.cancel(),s.apply(this,e)})}},n.prototype.filterChanges=function(e){var t=this,n=e.complete;if("_view"===e.filter){if(!e.view||"string"!=typeof e.view){var r=new Error("`view` filter parameter is not provided.");return r.status=s.BAD_REQUEST.status,r.name=s.BAD_REQUEST.name,r.error=!0,void n(r)}var o=e.view.split("/");this.db.get("_design/"+o[0],function(r,i){if(t.isCancelled)return void n(null,{status:"cancelled"});if(r)return void n(r);if(i&&i.views&&i.views[o[1]]){var a=c(i.views[o[1]].map);return e.filter=a,void t.doChanges(e)}var u=i.views?"missing json key: "+o[1]:"missing json key: views";r||(r=new Error(u),r.status=s.MISSING_DOC.status,r.name=s.MISSING_DOC.name,r.error=!0),n(r)})}else{var i=e.filter.split("/");this.db.get("_design/"+i[0],function(r,o){if(t.isCancelled)return void n(null,{status:"cancelled"});if(r)return void n(r);if(o&&o.filters&&o.filters[i[1]]){var a=u(o.filters[i[1]]);return e.filter=a,void t.doChanges(e)}var c=o&&o.filters?"missing json key: "+i[1]:"missing json key: filters";return r||(r=new Error(c),r.status=s.MISSING_DOC.status,r.name=s.MISSING_DOC.name,r.error=!0),void n(r)})}}},{"./deps/errors":10,"./evalFilter":13,"./evalView":14,"./merge":16,"./utils":21,events:25}],7:[function(e,t){(function(n){"use strict";function r(e){e&&n.debug&&console.error(e)}function o(e,t,n){if(!(this instanceof o))return new o(e,t,n);var c=this;("function"==typeof t||"undefined"==typeof t)&&(n=t,t={}),"object"==typeof e&&(t=e,e=void 0),"undefined"==typeof n&&(n=r),t=t||{};var d=n;c.auto_compaction=t.auto_compaction,c.prefix=o.prefix,i.call(c),c.taskqueue=new a;var l=new u(function(r,i){n=function(e,t){return e?i(e):(delete t.then,void r(t))},t=s.clone(t);var a,u,d=t.name||e;return function(){try{if("string"!=typeof d)throw u=new Error("Missing/invalid DB name"),u.code=400,u;if(a=o.parseAdapter(d,t),t.originalName=d,t.name=a.name,t.adapter=t.adapter||a.adapter,c._adapter=t.adapter,!o.adapters[t.adapter])throw u=new Error("Adapter is missing"),u.code=404,u;if(!o.adapters[t.adapter].valid())throw u=new Error("Invalid Adapter"),u.code=404,u}catch(e){c.taskqueue.fail(e),c.changes=s.toPromise(function(t){t.complete&&t.complete(e)})}}(),u?i(u):(c.adapter=t.adapter,c.replicate={},c.replicate.from=function(e,t,n){return o.replicate(e,c,t,n)},c.replicate.to=function(e,t,n){return o.replicate(c,e,t,n)},c.sync=function(e,t,n){return o.sync(c,e,t,n)},c.replicate.sync=c.sync,c.destroy=s.adapterFun("destroy",function(e){var t=this;t.info(function(t,n){return t?e(t):void o.destroy(n.db_name,e)})}),o.adapters[t.adapter].call(c,t,function(e){function r(e){"destroyed"===e&&(c.emit("destroyed"),o.removeListener(t.name,r))}return e?void(n&&(c.taskqueue.fail(e),n(e))):(o.on(t.name,r),c.emit("created",c),o.emit("created",t.originalName),c.taskqueue.ready(c),void n(null,c))}),t.skipSetup&&c.taskqueue.ready(c),void(s.isCordova()&&cordova.fireWindowEvent(t.name+"_pouch",{})))});l.then(function(e){d(null,e)},d),c.then=l.then.bind(l),c["catch"]=l["catch"].bind(l)}var i=e("./adapter"),s=e("./utils"),a=e("./taskqueue"),u=s.Promise;s.inherits(o,i),t.exports=o}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./adapter":1,"./taskqueue":20,"./utils":21}],8:[function(e,t){"use strict";function n(e,t){function n(t,n,r){if(e.binary||e.json||!e.processData||"string"==typeof t){if(!e.binary&&e.json&&"string"==typeof t)try{t=JSON.parse(t)}catch(o){return r(o)}}else t=JSON.stringify(t);Array.isArray(t)&&(t=t.map(function(e){var t;return e.ok?e:e.error&&"conflict"===e.error?(t=i.REV_CONFLICT,t.id=e.id,t):e.error&&"forbidden"===e.error?(t=i.FORBIDDEN,t.id=e.id,t.reason=e.reason,t):e.missing?(t=i.MISSING_DOC,t.missing=e.missing,t):e})),r(null,t,n)}function a(e,t){var n,r,o,s;try{n=JSON.parse(e.responseText);for(s in i)if(i.hasOwnProperty(s)&&i[s].name===n.error){o=i[s];break}o||(o=i.UNKNOWN_ERROR,e.status&&(o.status=e.status),e.statusText&&(e.name=e.statusText)),r=i.error(o,n.reason)}catch(a){for(var s in i)if(i.hasOwnProperty(s)&&i[s].status===e.status){o=i[s];break}o||(o=i.UNKNOWN_ERROR,e.status&&(o.status=e.status),e.statusText&&(e.name=e.statusText)),r=i.error(o)}t(r)}var u=!1,c=s.getArguments(function(e){u||(t.apply(this,e),u=!0)});"function"==typeof e&&(c=e,e={}),e=s.clone(e);var d={method:"GET",headers:{},json:!0,processData:!0,timeout:1e4,cache:!1};if(e=s.extend(!0,d,e),"GET"===e.method&&!e.cache){var l=-1!==e.url.indexOf("?");e.url+=(l?"&":"?")+"_nonce="+s.uuid(16)}var f,p;p=e.xhr?new e.xhr:new XMLHttpRequest,p.open(e.method,e.url),p.withCredentials=!0,e.json&&(e.headers.Accept="application/json",e.headers["Content-Type"]=e.headers["Content-Type"]||"application/json",e.body&&e.processData&&"string"!=typeof e.body&&(e.body=JSON.stringify(e.body))),e.binary&&(p.responseType="arraybuffer");var h=function(e,t,n){var r="";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),r="; expires="+o.toGMTString()}document.cookie=e+"="+t+r+"; path=/"};for(var v in e.headers)if("Cookie"===v){var m=e.headers[v].split("=");h(m[0],m[1],10)}else p.setRequestHeader(v,e.headers[v]);"body"in e||(e.body=null);var y=function(){u||(p.abort(),a(p,c))};if(p.onreadystatechange=function(){if(4===p.readyState&&!u)if(clearTimeout(f),p.status>=200&&p.status<300){var t;t=e.binary?o([p.response||""],{type:p.getResponseHeader("Content-Type")}):p.responseText,n(t,p,c)}else a(p,c)},e.timeout>0&&(f=setTimeout(y,e.timeout),p.onprogress=function(){clearTimeout(f),f=setTimeout(y,e.timeout)},"undefined"==typeof r&&(r=-1!==Object.keys(p).indexOf("upload")),r&&(p.upload.onprogress=p.onprogress)),e.body&&e.body instanceof Blob){var _=new FileReader;_.onloadend=function(){for(var e="",t=new Uint8Array(this.result),n=t.byteLength,r=0;n>r;r++)e+=String.fromCharCode(t[r]);e=s.fixBinary(e),p.send(e)},_.readAsArrayBuffer(e.body)}else p.send(e.body);return{abort:y}}var r,o=e("./blob.js"),i=e("./errors"),s=e("../utils");t.exports=n},{"../utils":21,"./blob.js":9,"./errors":10}],9:[function(e,t){(function(e){"use strict";function n(t,n){t=t||[],n=n||{};try{return new Blob(t,n)}catch(r){if("TypeError"!==r.name)throw r;for(var o=e.BlobBuilder||e.MSBlobBuilder||e.MozBlobBuilder||e.WebKitBlobBuilder,i=new o,s=0;s<t.length;s+=1)i.append(t[s]);return i.getBlob(n.type)}}t.exports=n}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],10:[function(e,t,n){"use strict";function r(e){this.status=e.status,this.name=e.error,this.message=e.reason,this.error=!0}r.prototype__proto__=Error.prototype,r.prototype.toString=function(){return JSON.stringify({status:this.status,name:this.name,message:this.message})},n.UNAUTHORIZED=new r({status:401,error:"unauthorized",reason:"Name or password is incorrect."}),n.MISSING_BULK_DOCS=new r({status:400,error:"bad_request",reason:"Missing JSON list of 'docs'"}),n.MISSING_DOC=new r({status:404,error:"not_found",reason:"missing"}),n.REV_CONFLICT=new r({status:409,error:"conflict",reason:"Document update conflict"}),n.INVALID_ID=new r({status:400,error:"invalid_id",reason:"_id field must contain a string"}),n.MISSING_ID=new r({status:412,error:"missing_id",reason:"_id is required for puts"}),n.RESERVED_ID=new r({status:400,error:"bad_request",reason:"Only reserved document ids may start with underscore."}),n.NOT_OPEN=new r({status:412,error:"precondition_failed",reason:"Database not open"}),n.UNKNOWN_ERROR=new r({status:500,error:"unknown_error",reason:"Database encountered an unknown error"}),n.BAD_ARG=new r({status:500,error:"badarg",reason:"Some query argument is invalid"}),n.INVALID_REQUEST=new r({status:400,error:"invalid_request",reason:"Request was invalid"}),n.QUERY_PARSE_ERROR=new r({status:400,error:"query_parse_error",reason:"Some query parameter is invalid"}),n.DOC_VALIDATION=new r({status:500,error:"doc_validation",reason:"Bad special document member"}),n.BAD_REQUEST=new r({status:400,error:"bad_request",reason:"Something wrong with the request"}),n.NOT_AN_OBJECT=new r({status:400,error:"bad_request",reason:"Document must be a JSON object"}),n.DB_MISSING=new r({status:404,error:"not_found",reason:"Database not found"}),n.IDB_ERROR=new r({status:500,error:"indexed_db_went_bad",reason:"unknown"}),n.WSQ_ERROR=new r({status:500,error:"web_sql_went_bad",reason:"unknown"}),n.LDB_ERROR=new r({status:500,error:"levelDB_went_went_bad",reason:"unknown"}),n.FORBIDDEN=new r({status:403,error:"forbidden",reason:"Forbidden by design doc validate_doc_update function"}),n.error=function(e,t,n){function r(){this.message=t,n&&(this.name=n)}return r.prototype=e,new r(t)}},{}],11:[function(e,t){"use strict";function n(e,t,n){return new o(function(o,i){return t&&"object"==typeof t&&(t=t._id),"string"!=typeof t?i(new Error("doc id is required")):void e.get(t,function(s,a){if(s)return"not_found"!==s.name?i(s):o(r(e,n({_id:t}),n));var u=n(a);return u?void o(r(e,u,n)):o(a)})})}function r(e,t,r){return e.put(t)["catch"](function(o){if("conflict"!==o.name)throw o;return n(e,t,r)})}var o=e("../utils").Promise;t.exports=function(e,t,r,o){return"function"!=typeof o?n(e,t,r):void n(e,t,r).then(function(e){o(null,e)},o)}},{"../utils":21}],12:[function(e,t){"use strict";function n(e){return 0|Math.random()*e}function r(e,t){t=t||o.length;var r="",i=-1;if(e){for(;++i<e;)r+=o[n(t)];return r}for(;++i<36;)switch(i){case 8:case 13:case 18:case 23:r+="-";break;case 19:r+=o[3&n(16)|8];break;default:r+=o[n(16)]}return r}var o="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");t.exports=r},{}],13:[function(_dereq_,module,exports){"use strict";function evalFilter(input){return eval(["(function () { return ",input," })()"].join(""))}module.exports=evalFilter},{}],14:[function(_dereq_,module,exports){"use strict";function evalView(input){return eval(["(function () {"," return function (doc) {"," var emitted = false;"," var emit = function (a, b) {"," emitted = true;"," };"," var view = "+input+";"," view(doc);"," if (emitted) {"," return true;"," }"," }","})()"].join("\n"))}module.exports=evalView},{}],15:[function(e,t){(function(n){"use strict";var r=e("./setup");t.exports=r,r.ajax=e("./deps/ajax"),r.extend=e("pouchdb-extend"),r.utils=e("./utils"),r.Errors=e("./deps/errors"),r.replicate=e("./replicate").replicate,r.sync=e("./sync"),r.version=e("./version");var o=e("./adapters/http");if(r.adapter("http",o),r.adapter("https",o),r.adapter("idb",e("./adapters/idb")),r.adapter("websql",e("./adapters/websql")),r.plugin(e("pouchdb-mapreduce")),!n.browser){var i=e("./adapters/leveldb");r.adapter("ldb",i),r.adapter("leveldb",i)}}).call(this,e("/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))},{"./adapters/http":2,"./adapters/idb":3,"./adapters/leveldb":24,"./adapters/websql":5,"./deps/ajax":8,"./deps/errors":10,"./replicate":17,"./setup":18,"./sync":19,"./utils":21,"./version":22,"/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":26,"pouchdb-extend":47,"pouchdb-mapreduce":50}],16:[function(e,t){"use strict";function n(e){for(var t,n=e.shift(),r=[n.id,n.opts,[]],o=r;e.length;)n=e.shift(),t=[n.id,n.opts,[]],o[2].push(t),o=t;return r}function r(e,t){for(var n=[{tree1:e,tree2:t}],r=!1;n.length>0;){var o=n.pop(),i=o.tree1,s=o.tree2;(i[1].status||s[1].status)&&(i[1].status="available"===i[1].status||"available"===s[1].status?"available":"missing");for(var a=0;a<s[2].length;a++)if(i[2][0]){for(var u=!1,c=0;c<i[2].length;c++)i[2][c][0]===s[2][a][0]&&(n.push({tree1:i[2][c],tree2:s[2][a]}),u=!0);u||(r="new_branch",i[2].push(s[2][a]),i[2].sort())}else r="new_leaf",i[2][0]=s[2][a]}return{conflicts:r,tree:e}}function o(e,t,n){var o,i=[],s=!1,a=!1;return e.length?(e.forEach(function(e){if(e.pos===t.pos&&e.ids[0]===t.ids[0])o=r(e.ids,t.ids),i.push({pos:e.pos,ids:o.tree}),s=s||o.conflicts,a=!0;else if(n!==!0){var u=e.pos<t.pos?e:t,c=e.pos<t.pos?t:e,d=c.pos-u.pos,l=[],f=[];for(f.push({ids:u.ids,diff:d,parent:null,parentIdx:null});f.length>0;){var p=f.pop();0!==p.diff?p.ids&&p.ids[2].forEach(function(e,t){f.push({ids:e,diff:p.diff-1,parent:p.ids,parentIdx:t})}):p.ids[0]===c.ids[0]&&l.push(p)}var h=l[0];h?(o=r(h.ids,c.ids),h.parent[2][h.parentIdx]=o.tree,i.push({pos:u.pos,ids:u.ids}),s=s||o.conflicts,a=!0):i.push(e)}else i.push(e)}),a||i.push(t),i.sort(function(e,t){return e.pos-t.pos}),{tree:i,conflicts:s||"internal_node"}):{tree:[t],conflicts:"new_leaf"}}function i(e,t){var r=a.rootToLeaf(e).map(function(e){var r=e.ids.slice(-t);return{pos:e.pos+(e.ids.length-r.length),ids:n(r)}});return r.reduce(function(e,t){return o(e,t,!0).tree},[r.shift()])}var s=e("pouchdb-extend"),a={};a.merge=function(e,t,n){e=s(!0,[],e),t=s(!0,{},t);var r=o(e,t);return{tree:i(r.tree,n),conflicts:r.conflicts}},a.winningRev=function(e){var t=[];return a.traverseRevTree(e.rev_tree,function(e,n,r,o,i){e&&t.push({pos:n,id:r,deleted:!!i.deleted})}),t.sort(function(e,t){return e.deleted!==t.deleted?e.deleted>t.deleted?1:-1:e.pos!==t.pos?t.pos-e.pos:e.id<t.id?1:-1}),t[0].pos+"-"+t[0].id},a.traverseRevTree=function(e,t){for(var n,r=e.slice();n=r.pop();)for(var o=n.pos,i=n.ids,s=i[2],a=t(0===s.length,o,i[0],n.ctx,i[1]),u=0,c=s.length;c>u;u++)r.push({pos:o+1,ids:s[u],ctx:a})},a.collectLeaves=function(e){var t=[];return a.traverseRevTree(e,function(e,n,r,o,i){e&&t.unshift({rev:n+"-"+r,pos:n,opts:i})}),t.sort(function(e,t){return t.pos-e.pos}),t.map(function(e){delete e.pos}),t},a.collectConflicts=function(e){var t=a.winningRev(e),n=a.collectLeaves(e.rev_tree),r=[];return n.forEach(function(e){e.rev===t||e.opts.deleted||r.push(e.rev)}),r},a.rootToLeaf=function(e){var t=[];return a.traverseRevTree(e,function(e,n,r,o,i){if(o=o?o.slice(0):[],o.push({id:r,opts:i}),e){var s=n+1-o.length;t.unshift({pos:s,ids:o})}return o}),t},t.exports=a},{"pouchdb-extend":47}],17:[function(e,t,n){"use strict";function r(){f.call(this),this.cancelled=!1;var e=this,t=new d.Promise(function(t,n){e.once("complete",t),e.once("error",n)});e.then=function(e,n){return t.then(e,n)},e["catch"]=function(e){return t["catch"](e)},e["catch"](function(){})}function o(e,t,n){var r=n.filter?n.filter.toString():"";return e.id().then(function(e){return t.id().then(function(t){var o=e+t+r+JSON.stringify(n.query_params)+n.doc_ids;return"_local/"+d.MD5(o)})})}function i(e,t,n){return e.get(t)["catch"](function(e){if(404===e.status)return{_id:t};throw e}).then(function(t){return t.last_seq=n,e.put(t)})}function s(e,t,n){this.src=e,this.target=t,this.id=n}function a(e,t,n,r,o){function i(){if(0!==S.docs.length){var e=S.docs;return n.bulkDocs({docs:e},{new_edits:!1}).then(function(e){if(o.cancelled)throw y(),new Error("cancelled");var t=[];if(e.forEach(function(e){e.ok||(F.doc_write_failures++,t.push(new Error(e.reason||e.message||"Unknown reason")))}),t.length>0){var n=new Error("bulkDocs error");throw n.other_errors=t,m("target.bulkDocs failed to write docs",n),new Error("bulkWrite partial failure")}},function(t){throw F.doc_write_failures+=e.length,t})}}function a(){var e=S.diffs,n=Object.keys(e)[0],r=e[n].missing;return t.get(n,{revs:!0,open_revs:r,attachments:!0}).then(function(t){t.forEach(function(t){return o.cancelled?y():void(t.ok&&(F.docs_read++,S.pendingRevs++,S.docs.push(t.ok),delete e[t.ok._id]))})})}function u(){return Object.keys(S.diffs).length>0?a().then(u):d.Promise.resolve()}function c(){var e=Object.keys(S.diffs).filter(function(e){var t=S.diffs[e].missing;return 1===t.length&&"1-"===t[0].slice(0,2)});return t.allDocs({keys:e,include_docs:!0}).then(function(e){if(o.cancelled)throw y(),new Error("cancelled");e.rows.forEach(function(e){!e.doc||e.deleted||"1-"!==e.value.rev.slice(0,2)||e.doc._attachments&&0!==Object.keys(e.doc._attachments).length||(F.docs_read++,S.pendingRevs++,S.docs.push(e.doc),delete S.diffs[e.id])})})}function l(){return"http"===t.type()?c().then(u):u()}function f(){return x=!0,j.writeCheckpoint(S.seq).then(function(){if(x=!1,o.cancelled)throw y(),new Error("cancelled");F.last_seq=D=S.seq,F.docs_written+=S.docs.length,o.emit("change",d.clone(F)),S=void 0,w()})["catch"](function(e){throw x=!1,m("writeCheckpoint completed with error",e),e})}function p(){var e={};return S.changes.forEach(function(t){e[t.id]=t.changes.map(function(e){return e.rev})}),n.revsDiff(e).then(function(e){if(o.cancelled)throw y(),new Error("cancelled");S.diffs=e,S.pendingRevs=0})}function h(){if(!o.cancelled&&!S){if(0===k.length)return void v(!0);S=k.shift(),p().then(l).then(i).then(f).then(h)["catch"](function(e){m("batch processing terminated with error",e)})}}function v(e){return 0===q.changes.length?void(0!==k.length||S||((R&&B.live||T)&&o.emit("uptodate",d.clone(F)),T&&y())):void((e||T||q.changes.length>=L)&&(k.push(q),q={seq:0,changes:[],docs:[]},h()))}function m(e,t){O||(F.ok=!1,F.status="aborted",t.message=e,F.errors.push(t),k=[],q={seq:0,changes:[],docs:[]},y())}function y(){if(!(O||o.cancelled&&(F.status="cancelled",x)))if(F.status=F.status||"complete",F.end_time=new Date,F.last_seq=D,O=o.cancelled=!0,F.errors.length>0){var e=F.errors.pop();F.errors.length>0&&(e.other_errors=F.errors),e.result=F,o.emit("error",e)}else o.emit("complete",F)}function _(e){return o.cancelled?y():(I++,0!==q.changes.length||0!==k.length||S||o.emit("outofdate",d.clone(F)),q.seq=e.seq,q.changes.push(e),void v(0===k.length))}function g(e){return C=!1,o.cancelled?y():(I>0?(B.since=e.last_seq,w()):R?(B.live=!0,w()):T=!0,void v(!0))}function b(e){return C=!1,o.cancelled?y():void m("changes rejected",e)}function w(){!C&&!T&&k.length<A&&(C=!0,I=0,t.changes(B).on("change",_).then(g)["catch"](b))}function E(){j.getCheckpoint().then(function(e){D=e,B={since:D,limit:L,style:"all_docs",doc_ids:N,returnDocs:!1},r.filter&&(B.filter=r.filter),r.query_params&&(B.query_params=r.query_params),w()
})["catch"](function(e){m("getCheckpoint rejected with ",e)})}var S,k=[],q={seq:0,changes:[],docs:[]},x=!1,T=!1,O=!1,D=0,R=r.continuous||r.live||!1,L=r.batch_size||100,A=r.batches_limit||10,C=!1,I=0,N=r.doc_ids,j=new s(t,n,e),F={ok:!0,start_time:new Date,docs_read:0,docs_written:0,doc_write_failures:0,errors:[]},B={};o.ready(t,n),o.once("cancel",y),"function"==typeof r.onChange&&o.on("change",r.onChange),"function"==typeof r.complete&&(o.once("error",r.complete),o.once("complete",function(e){r.complete(null,e)})),"undefined"==typeof r.since?E():(x=!0,j.writeCheckpoint(r.since).then(function(){return x=!1,o.cancelled?void y():(D=r.since,void E())})["catch"](function(e){throw x=!1,m("writeCheckpoint completed with error",e),e}))}function u(e){return"string"==typeof e?new l(e):e.then?e:d.Promise.resolve(e)}function c(e,t,n,i){"function"==typeof n&&(i=n,n={}),"undefined"==typeof n&&(n={}),n.complete||(n.complete=i||function(){}),n=d.clone(n),n.continuous=n.continuous||n.live;var s=new r(n);return u(e).then(function(e){return u(t).then(function(t){if(!n.server)return o(e,t,n).then(function(r){s.emit("id",r),a(r,e,t,n,s)});if("function"!=typeof e.replicateOnServer)throw new TypeError("Server replication not supported for "+e.type()+" adapter");if(e.type()!==t.type())throw new TypeError("Server replication for different adapter types ("+e.type()+" and "+t.type()+") is not supported");e.replicateOnServer(t,n,s)})})["catch"](function(e){s.emit("error",e),n.complete(e)}),s}var d=e("./utils"),l=e("./index"),f=e("events").EventEmitter;d.inherits(r,f),r.prototype.cancel=function(){this.cancelled=!0,this.emit("cancel")},r.prototype.ready=function(e,t){function n(){o.cancel()}function r(){o.removeAllListeners(),e.removeListener("destroyed",n),t.removeListener("destroyed",n)}var o=this;e.once("destroyed",n),t.once("destroyed",n),this.then(r,r)},s.prototype.writeCheckpoint=function(e){var t=this;return this.updateTarget(e).then(function(){return t.updateSource(e)})},s.prototype.updateTarget=function(e){return i(this.target,this.id,e)},s.prototype.updateSource=function(e){var t=this;return this.readOnlySource?d.Promise.resolve(!0):i(this.src,this.id,e)["catch"](function(e){if(401===e.status)return t.readOnlySource=!0,!0;throw e})},s.prototype.getCheckpoint=function(){var e=this;return e.target.get(e.id).then(function(t){return e.src.get(e.id).then(function(e){return t.last_seq===e.last_seq?e.last_seq:0},function(n){if(404===n.status&&t.last_seq)return e.src.put({_id:e.id,last_seq:0}).then(function(){return 0},function(n){return 401===n.status?(e.readOnlySource=!0,t.last_seq):0});throw n})})["catch"](function(e){if(404!==e.status)throw e;return 0})},n.replicate=c},{"./index":15,"./utils":21,events:25}],18:[function(e,t){(function(n){"use strict";var r=e("./constructor"),o=e("./utils"),i=o.Promise,s=e("events").EventEmitter;r.adapters={},r.preferredAdapters=e("./adapters/preferredAdapters.js"),r.prefix="_pouch_";var a=new s,u=["on","addListener","emit","listeners","once","removeAllListeners","removeListener","setMaxListeners"];u.forEach(function(e){r[e]=a[e].bind(a)}),r.setMaxListeners(0),r.parseAdapter=function(e,t){var i,s,a=e.match(/([a-z\-]*):\/\/(.*)/);if(a){if(e=/http(s?)/.test(a[1])?a[1]+"://"+a[2]:a[2],i=a[1],!r.adapters[i].valid())throw"Invalid adapter";return{name:e,adapter:a[1]}}var u="idb"in r.adapters&&"websql"in r.adapters&&o.hasLocalStorage()&&n.localStorage["_pouch__websqldb_"+r.prefix+e];if("undefined"!=typeof t&&t.db)s="leveldb";else for(var c=0;c<r.preferredAdapters.length;++c)if(s=r.preferredAdapters[c],s in r.adapters){if(u&&"idb"===s)continue;break}if(i=r.adapters[s],s&&i){var d="use_prefix"in i?i.use_prefix:!0;return{name:d?r.prefix+e:e,adapter:s}}throw"No valid adapter found"},r.destroy=o.toPromise(function(e,t,n){function o(){u.destroy(a,t,function(e,t){e?n(e):(r.emit("destroyed",a),r.emit(a,"destroyed"),n(null,t||{ok:!0}))})}("function"==typeof t||"undefined"==typeof t)&&(n=t,t={}),"object"==typeof e&&(t=e,e=void 0);var s=r.parseAdapter(t.name||e,t),a=s.name,u=r.adapters[s.adapter],c="use_prefix"in u?u.use_prefix:!0,d=c?a.replace(new RegExp("^"+r.prefix),""):a;new r(d,{adapter:s.adapter},function(e,t){return e?n(e):void t.get("_local/_pouch_dependentDbs",function(e,t){if(e)return"not_found"!==e.name?n(e):o();var a=t.dependentDbs,u=Object.keys(a).map(function(e){var t=c?e.replace(new RegExp("^"+r.prefix),""):e;return r.destroy(t,{adapter:s.adapter})});i.all(u).then(o,function(e){n(e)})})})}),r.allDbs=o.toPromise(function(e){var t=new Error("allDbs method removed");t.stats="400",e(t)}),r.adapter=function(e,t){t.valid()&&(r.adapters[e]=t)},r.plugin=function(e){Object.keys(e).forEach(function(t){r.prototype[t]=e[t]})},t.exports=r}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./adapters/preferredAdapters.js":4,"./constructor":7,"./utils":21,events:25}],19:[function(e,t){"use strict";function n(e,t,i,s){function a(e){h||(h=!0,l.emit("cancel",e))}function u(e){l.emit("change",{direction:"pull",change:e})}function c(e){l.emit("change",{direction:"push",change:e})}function d(e,t){"change"!==e||t!==u&&t!==c?"cancel"===e&&t===a?l.removeAllListeners("cancel"):e in v&&t===v[e]&&l.removeAllListeners(e):l.removeAllListeners("change")}if(!(this instanceof n))return new n(e,t,i,s);var l=this;"function"==typeof i&&(s=i,i={}),"undefined"==typeof i&&(i={}),this.canceled=!1,i=r.clone(i);var f,p;"onChange"in i&&(f=i.onChange,delete i.onChange),"function"!=typeof s||i.complete?"complete"in i&&(p=i.complete,delete i.complete):p=s,this.push=o(e,t,i),this.pull=o(t,e,i);var h=!1,v={};this.on("newListener",function(e){"change"===e?(l.pull.on("change",u),l.push.on("change",c)):"cancel"===e?(l.pull.on("cancel",a),l.push.on("cancel",a)):"error"===e||"complete"===e||e in v||(v[e]=function(t){l.emit(e,t)},l.pull.on(e,v[e]),l.push.on(e,v[e]))}),this.on("removeListener",function(e){"change"===e?(l.pull.removeListener("change",u),l.push.removeListener("change",c)):"cancel"===e?(l.pull.removeListener("cancel",a),l.push.removeListener("cancel",a)):e in v&&"function"==typeof v[e]&&(l.pull.removeListener(e,v[e]),l.push.removeListener(e,v[e]),delete v[e])}),this.pull.on("removeListener",d),this.push.on("removeListener",d);var m=r.Promise.all([this.push,this.pull]).then(function(e){var t={push:e[0],pull:e[1]};return l.emit("complete",t),p&&p(null,t),l.removeAllListeners(),t},function(e){throw l.cancel(),l.emit("error",e),p&&p(e),l.removeAllListeners(),e});this.then=function(e,t){return m.then(e,t)},this["catch"]=function(e){return m["catch"](e)}}var r=e("./utils"),o=e("./replicate").replicate,i=e("events").EventEmitter;t.exports=n,r.inherits(n,i),n.prototype.cancel=function(){this.canceled||(this.canceled=!0,this.push.cancel(),this.pull.cancel())}},{"./replicate":17,"./utils":21,events:25}],20:[function(e,t){"use strict";function n(){this.isReady=!1,this.failed=!1,this.queue=[]}t.exports=n,n.prototype.execute=function(){var e,t;if(this.failed)for(;e=this.queue.shift();)"function"!=typeof e?(t=e.parameters[e.parameters.length-1],"function"==typeof t?t(this.failed):"changes"===e.name&&"function"==typeof t.complete&&t.complete(this.failed)):e(this.failed);else if(this.isReady)for(;e=this.queue.shift();)"function"==typeof e?e():e.task=this.db[e.name].apply(this.db,e.parameters)},n.prototype.fail=function(e){this.failed=e,this.execute()},n.prototype.ready=function(e){return this.failed?!1:0===arguments.length?this.isReady:(this.isReady=e?!0:!1,this.db=e,void this.execute())},n.prototype.addTask=function(e,t){if("function"!=typeof e){var n={name:e,parameters:t};return this.queue.push(n),this.failed&&this.execute(),n}this.queue.push(e),this.failed&&this.execute()}},{}],21:[function(e,t,n){(function(t,r){function o(e){var t={};return e.forEach(function(e){t[e]=!0}),t}function i(){return"undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage&&"undefined"!=typeof chrome.storage.local}function s(){if(!(this instanceof s))return new s;var e=this;f.call(this),this.isChrome=i(),this.listeners={},this.hasLocal=!1,this.isChrome||(this.hasLocal=n.hasLocalStorage()),this.isChrome?chrome.storage.onChanged.addListener(function(t){null!=t.db_name&&e.emit(t.dbName.newValue)}):this.hasLocal&&(r.addEventListener?r.addEventListener("storage",function(t){e.emit(t.key)}):r.attachEvent("storage",function(t){e.emit(t.key)}))}var a=e("crypto"),u=e("md5-jkmyers"),c=e("./merge");n.extend=e("pouchdb-extend"),n.ajax=e("./deps/ajax"),n.createBlob=e("./deps/blob"),n.uuid=e("./deps/uuid"),n.getArguments=e("argsarray");var d=e("./deps/buffer"),l=e("./deps/errors"),f=e("events").EventEmitter;n.Promise="function"==typeof r.Promise?r.Promise:e("bluebird");var p=n.Promise,h=o(["_id","_rev","_attachments","_deleted","_revisions","_revs_info","_conflicts","_deleted_conflicts","_local_seq","_rev_tree"]);n.clone=function(e){return n.extend(!0,{},e)},n.inherits=e("inherits"),n.invalidIdError=function(e){return e?"string"!=typeof e?l.INVALID_ID:/^_/.test(e)&&!/^_(design|local)/.test(e)?l.RESERVED_ID:void 0:l.MISSING_ID},n.call=n.getArguments(function(e){if(e.length){var t=e.shift();"function"==typeof t&&t.apply(this,e)}}),n.isLocalId=function(e){return/^_local/.test(e)},n.isDeleted=function(e,t){t||(t=c.winningRev(e));var n=t.indexOf("-");-1!==n&&(t=t.substring(n+1));var r=!1;return c.traverseRevTree(e.rev_tree,function(e,n,o,i,s){o===t&&(r=!!s.deleted)}),r},n.filterChange=function(e){return function(t){var n={},r=e.filter&&"function"==typeof e.filter;if(n.query=e.query_params,e.filter&&r&&!e.filter.call(this,t.doc,n))return!1;if(e.doc_ids&&-1===e.doc_ids.indexOf(t.id))return!1;if(e.include_docs)for(var o in t.doc._attachments)t.doc._attachments.hasOwnProperty(o)&&(t.doc._attachments[o].stub=!0);else delete t.doc;return!0}},n.parseDoc=function(e,t){var r,o,i,s={status:"available"};if(e._deleted&&(s.deleted=!0),t)if(e._id||(e._id=n.uuid()),o=n.uuid(32,16).toLowerCase(),e._rev){if(i=/^(\d+)-(.+)$/.exec(e._rev),!i)throw"invalid value for property '_rev'";e._rev_tree=[{pos:parseInt(i[1],10),ids:[i[2],{status:"missing"},[[o,s,[]]]]}],r=parseInt(i[1],10)+1}else e._rev_tree=[{pos:1,ids:[o,s,[]]}],r=1;else if(e._revisions&&(e._rev_tree=[{pos:e._revisions.start-e._revisions.ids.length+1,ids:e._revisions.ids.reduce(function(e,t){return null===e?[t,s,[]]:[t,{status:"missing"},[e]]},null)}],r=e._revisions.start,o=e._revisions.ids[0]),!e._rev_tree){if(i=/^(\d+)-(.+)$/.exec(e._rev),!i)return l.BAD_ARG;r=parseInt(i[1],10),o=i[2],e._rev_tree=[{pos:parseInt(i[1],10),ids:[i[2],s,[]]}]}var a=n.invalidIdError(e._id);if(a)return a;e._id=decodeURIComponent(e._id),e._rev=[r,o].join("-");var u={metadata:{},data:{}};for(var c in e)if(e.hasOwnProperty(c)){var d="_"===c[0];if(d&&!h[c])return a=l.error(l.DOC_VALIDATION),a.reason+=": "+c,a;d&&"_attachments"!==c?u.metadata[c.slice(1)]=e[c]:u.data[c]=e[c]}return u},n.isCordova=function(){return"undefined"!=typeof cordova||"undefined"!=typeof PhoneGap||"undefined"!=typeof phonegap},n.hasLocalStorage=function(){if(i())return!1;try{return r.localStorage}catch(e){return!1}},n.Changes=s,n.inherits(s,f),s.prototype.addListener=function(e,t,r,o){function i(){r.changes({include_docs:o.include_docs,conflicts:o.conflicts,continuous:!1,descending:!1,filter:o.filter,view:o.view,since:o.since,query_params:o.query_params,onChange:function(e){e.seq>o.since&&!o.cancelled&&(o.since=e.seq,n.call(o.onChange,e))}})}this.listeners[t]||(this.listeners[t]=i,this.on(e,i))},s.prototype.removeListener=function(e,t){t in this.listeners&&f.prototype.removeListener.call(this,e,this.listeners[t])},s.prototype.notifyLocalWindows=function(e){this.isChrome?chrome.storage.local.set({dbName:e}):this.hasLocal&&(localStorage[e]="a"===localStorage[e]?"b":"a")},s.prototype.notify=function(e){this.emit(e),this.notifyLocalWindows(e)},n.atob=t.browser&&"atob"in r?function(e){return atob(e)}:function(e){var t=new d(e,"base64");if(t.toString("base64")!==e)throw"Cannot base64 encode full string";return t.toString("binary")},n.btoa=t.browser&&"btoa"in r?function(e){return btoa(e)}:function(e){return new d(e,"binary").toString("base64")},n.fixBinary=function(e){if(!t.browser)return e;for(var n=e.length,r=new ArrayBuffer(n),o=new Uint8Array(r),i=0;n>i;i++)o[i]=e.charCodeAt(i);return r},n.once=function(e){var t=!1;return n.getArguments(function(n){if(t)throw"function"==typeof console.trace&&console.trace(),new Error("once called more than once");t=!0,e.apply(this,n)})},n.toPromise=function(e){return n.getArguments(function(r){var o,i=this,s="function"==typeof r[r.length-1]?r.pop():!1;s&&(o=function(e,n){t.nextTick(function(){s(e,n)})});var a=new p(function(t,o){var s;try{var a=n.once(function(e,n){e?o(e):t(n)});r.push(a),s=e.apply(i,r),s&&"function"==typeof s.then&&t(s)}catch(u){o(u)}});return o&&a.then(function(e){o(null,e)},o),a.cancel=function(){return this},a})},n.adapterFun=function(e,t){return n.toPromise(n.getArguments(function(r){if(this._closed)return p.reject(new Error("database is closed"));var o=this;return this.taskqueue.isReady?t.apply(this,r):new n.Promise(function(t,n){o.taskqueue.addTask(function(i){i?n(i):t(o[e].apply(o,r))})})}))},n.arrayBufferToBinaryString=function(e){for(var t="",n=new Uint8Array(e),r=n.byteLength,o=0;r>o;o++)t+=String.fromCharCode(n[o]);return t},n.cancellableFun=function(e,t,r){r=r?n.clone(!0,{},r):{};var o=new f,i=r.complete||function(){},s=r.complete=n.once(function(e,t){e?i(e):(o.emit("end",t),i(null,t)),o.removeAllListeners()}),a=r.onChange||function(){},u=0;t.on("destroyed",function(){o.removeAllListeners()}),r.onChange=function(e){a(e),e.seq<=u||(u=e.seq,o.emit("change",e),e.deleted?o.emit("delete",e):1===e.changes.length&&"1-"===e.changes[0].rev.slice(0,1)?o.emit("create",e):o.emit("update",e))};var c=new p(function(e,t){r.complete=function(n,r){n?t(n):e(r)}});return c.then(function(e){s(null,e)},s),c.cancel=function(){c.isCancelled=!0,t.taskqueue.isReady&&r.complete(null,{status:"cancelled"})},t.taskqueue.isReady?e(t,r,c):t.taskqueue.addTask(function(){c.isCancelled?r.complete(null,{status:"cancelled"}):e(t,r,c)}),c.on=o.on.bind(o),c.once=o.once.bind(o),c.addListener=o.addListener.bind(o),c.removeListener=o.removeListener.bind(o),c.removeAllListeners=o.removeAllListeners.bind(o),c.setMaxListeners=o.setMaxListeners.bind(o),c.listeners=o.listeners.bind(o),c.emit=o.emit.bind(o),c},n.Crypto={},n.MD5=n.Crypto.MD5=function(e){return t.browser?u(e):a.createHash("md5").update(e).digest("hex")}}).call(this,e("/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./deps/ajax":8,"./deps/blob":9,"./deps/buffer":24,"./deps/errors":10,"./deps/uuid":12,"./merge":16,"/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":26,argsarray:23,bluebird:32,crypto:24,events:25,inherits:27,"md5-jkmyers":46,"pouchdb-extend":47}],22:[function(e,t){t.exports="2.2.3"},{}],23:[function(e,t){"use strict";function n(e){return function(){var t=arguments.length;if(t){for(var n=[],r=-1;++r<t;)n[r]=arguments[r];return e.call(this,n)}return e.call(this,[])}}t.exports=n},{}],24:[function(){},{}],25:[function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function o(e){return"number"==typeof e}function i(e){return"object"==typeof e&&null!==e}function s(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,o,a,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length))throw t=arguments[1],t instanceof Error?t:TypeError('Uncaught, unspecified "error" event.');if(n=this._events[e],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:for(o=arguments.length,a=new Array(o-1),u=1;o>u;u++)a[u-1]=arguments[u];n.apply(this,a)}else if(i(n)){for(o=arguments.length,a=new Array(o-1),u=1;o>u;u++)a[u-1]=arguments[u];for(c=n.slice(),o=c.length,u=0;o>u;u++)c[u].apply(this,a)}return!0},n.prototype.addListener=function(e,t){var o;if(!r(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?i(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,i(this._events[e])&&!this._events[e].warned){var o;o=s(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,o&&o>0&&this._events[e].length>o&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),o||(o=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var o=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,o,s,a;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(a=s;a-->0;)if(n[a]===t||n[a].listener&&n[a].listener===t){o=a;break}if(0>o)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var n;return n=e._events&&e._events[t]?r(e._events[t])?1:e._events[t].length:0}},{}],26:[function(e,t){var n=t.exports={};n.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.binding=function(){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(){throw new Error("process.chdir is not supported")}},{}],27:[function(e,t){t.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],28:[function(e,t){"use strict";function n(){}t.exports=n},{}],29:[function(e,t){"use strict";var n=e("./promise"),r=e("./reject"),o=e("./resolve"),i=e("./INTERNAL"),s=e("./handlers"),a=r(new TypeError("must be an array"));t.exports=function(e){function t(e,t){function n(e){u[t]=e,++c===r&&s.resolve(l,u)}o(e).then(n,function(e){s.reject(l,e)})}if("[object Array]"!==Object.prototype.toString.call(e))return a;var r=e.length;if(!r)return o([]);for(var u=new Array(r),c=0,d=-1,l=new n(i);++d<r;)t(e[d],d);return l}},{"./INTERNAL":28,"./handlers":31,"./promise":33,"./reject":35,"./resolve":36}],30:[function(e,t){"use strict";function n(e){var t=e&&e.then;return e&&"object"==typeof e&&"function"==typeof t?function(){t.apply(e,arguments)}:void 0}t.exports=n},{}],31:[function(e,t,n){"use strict";var r=e("./tryCatch"),o=e("./getThen"),i=e("./resolveThenable"),s=e("./states");n.resolve=function(e,t){var a=r(o,t);if("error"===a.status)return n.reject(e,a.value);var u=a.value;if(u)i.safely(e,u);else{e.state=s.FULFILLED,e.outcome=t;for(var c=-1,d=e.queue.length;++c<d;)e.queue[c].callFulfilled(t)}return e},n.reject=function(e,t){e.state=s.REJECTED,e.outcome=t;for(var n=-1,r=e.queue.length;++n<r;)e.queue[n].callRejected(t);return e}},{"./getThen":30,"./resolveThenable":37,"./states":38,"./tryCatch":39}],32:[function(e,t,n){t.exports=n=e("./promise"),n.resolve=e("./resolve"),n.reject=e("./reject"),n.all=e("./all")},{"./all":29,"./promise":33,"./reject":35,"./resolve":36}],33:[function(e,t){"use strict";function n(e){if(!(this instanceof n))return new n(e);if("function"!=typeof e)throw new TypeError("reslover must be a function");this.state=s.PENDING,this.queue=[],e!==o&&i.safely(this,e)}var r=e("./unwrap"),o=e("./INTERNAL"),i=e("./resolveThenable"),s=e("./states"),a=e("./queueItem");t.exports=n,n.prototype["catch"]=function(e){return this.then(null,e)},n.prototype.then=function(e,t){if("function"!=typeof e&&this.state===s.FULFILLED||"function"!=typeof t&&this.state===s.REJECTED)return this;var i=new n(o);if(this.state!==s.PENDING){var u=this.state===s.FULFILLED?e:t;r(i,u,this.outcome)}else this.queue.push(new a(i,e,t));return i}},{"./INTERNAL":28,"./queueItem":34,"./resolveThenable":37,"./states":38,"./unwrap":40}],34:[function(e,t){"use strict";function n(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}var r=e("./handlers"),o=e("./unwrap");t.exports=n,n.prototype.callFulfilled=function(e){r.resolve(this.promise,e)},n.prototype.otherCallFulfilled=function(e){o(this.promise,this.onFulfilled,e)},n.prototype.callRejected=function(e){r.reject(this.promise,e)},n.prototype.otherCallRejected=function(e){o(this.promise,this.onRejected,e)}},{"./handlers":31,"./unwrap":40}],35:[function(e,t){"use strict";function n(e){var t=new r(o);return i.reject(t,e)}var r=e("./promise"),o=e("./INTERNAL"),i=e("./handlers");t.exports=n},{"./INTERNAL":28,"./handlers":31,"./promise":33}],36:[function(e,t){"use strict";function n(e){if(e)return e instanceof r?e:i.resolve(new r(o),e);var t=typeof e;switch(t){case"boolean":return s;case"undefined":return u;case"object":return a;case"number":return c;case"string":return d}}var r=e("./promise"),o=e("./INTERNAL"),i=e("./handlers");t.exports=n;var s=i.resolve(new r(o),!1),a=i.resolve(new r(o),null),u=i.resolve(new r(o),void 0),c=i.resolve(new r(o),0),d=i.resolve(new r(o),"")},{"./INTERNAL":28,"./handlers":31,"./promise":33}],37:[function(e,t,n){"use strict";function r(e,t){function n(t){a||(a=!0,o.reject(e,t))}function r(t){a||(a=!0,o.resolve(e,t))}function s(){t(r,n)}var a=!1,u=i(s);"error"===u.status&&n(u.value)}var o=e("./handlers"),i=e("./tryCatch");n.safely=r},{"./handlers":31,"./tryCatch":39}],38:[function(e,t,n){n.REJECTED=["REJECTED"],n.FULFILLED=["FULFILLED"],n.PENDING=["PENDING"]},{}],39:[function(e,t){"use strict";function n(e,t){var n={};try{n.value=e(t),n.status="success"}catch(r){n.status="error",n.value=r}return n}t.exports=n},{}],40:[function(e,t){"use strict";function n(e,t,n){r(function(){var r;try{r=t(n)}catch(i){return o.reject(e,i)}r===e?o.reject(e,new TypeError("Cannot resolve promise with itself")):o.resolve(e,r)})}var r=e("immediate"),o=e("./handlers");t.exports=n},{"./handlers":31,immediate:41}],41:[function(e,t){"use strict";function n(){o=!0;for(var e,t,n=a.length;n;){for(t=a,a=[],e=-1;++e<n;)t[e]();n=a.length}o=!1}function r(e){1!==a.push(e)||o||i()}for(var o,i,s=[e("./nextTick"),e("./mutation.js"),e("./messageChannel"),e("./stateChange"),e("./timeout")],a=[],u=-1,c=s.length;++u<c;)if(s[u]&&s[u].test&&s[u].test()){i=s[u].install(n);break}t.exports=r},{"./messageChannel":42,"./mutation.js":43,"./nextTick":24,"./stateChange":44,"./timeout":45}],42:[function(e,t,n){(function(e){"use strict";n.test=function(){return e.setImmediate?!1:"undefined"!=typeof e.MessageChannel},n.install=function(t){var n=new e.MessageChannel;return n.port1.onmessage=t,function(){n.port2.postMessage(0)}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],43:[function(e,t,n){(function(e){"use strict";var t=e.MutationObserver||e.WebKitMutationObserver;n.test=function(){return t},n.install=function(n){var r=0,o=new t(n),i=e.document.createTextNode("");return o.observe(i,{characterData:!0}),function(){i.data=r=++r%2}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],44:[function(e,t,n){(function(e){"use strict";n.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},n.install=function(t){return function(){var n=e.document.createElement("script");return n.onreadystatechange=function(){t(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},e.document.documentElement.appendChild(n),t}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],45:[function(e,t,n){"use strict";n.test=function(){return!0},n.install=function(e){return function(){setTimeout(e,0)}}},{}],46:[function(e,t,n){!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof n?t.exports=r():e.md5=r()}(this,function(){function e(e,t){var s=e[0],a=e[1],u=e[2],c=e[3];s=n(s,a,u,c,t[0],7,-680876936),c=n(c,s,a,u,t[1],12,-389564586),u=n(u,c,s,a,t[2],17,606105819),a=n(a,u,c,s,t[3],22,-1044525330),s=n(s,a,u,c,t[4],7,-176418897),c=n(c,s,a,u,t[5],12,1200080426),u=n(u,c,s,a,t[6],17,-1473231341),a=n(a,u,c,s,t[7],22,-45705983),s=n(s,a,u,c,t[8],7,1770035416),c=n(c,s,a,u,t[9],12,-1958414417),u=n(u,c,s,a,t[10],17,-42063),a=n(a,u,c,s,t[11],22,-1990404162),s=n(s,a,u,c,t[12],7,1804603682),c=n(c,s,a,u,t[13],12,-40341101),u=n(u,c,s,a,t[14],17,-1502002290),a=n(a,u,c,s,t[15],22,1236535329),s=r(s,a,u,c,t[1],5,-165796510),c=r(c,s,a,u,t[6],9,-1069501632),u=r(u,c,s,a,t[11],14,643717713),a=r(a,u,c,s,t[0],20,-373897302),s=r(s,a,u,c,t[5],5,-701558691),c=r(c,s,a,u,t[10],9,38016083),u=r(u,c,s,a,t[15],14,-660478335),a=r(a,u,c,s,t[4],20,-405537848),s=r(s,a,u,c,t[9],5,568446438),c=r(c,s,a,u,t[14],9,-1019803690),u=r(u,c,s,a,t[3],14,-187363961),a=r(a,u,c,s,t[8],20,1163531501),s=r(s,a,u,c,t[13],5,-1444681467),c=r(c,s,a,u,t[2],9,-51403784),u=r(u,c,s,a,t[7],14,1735328473),a=r(a,u,c,s,t[12],20,-1926607734),s=o(s,a,u,c,t[5],4,-378558),c=o(c,s,a,u,t[8],11,-2022574463),u=o(u,c,s,a,t[11],16,1839030562),a=o(a,u,c,s,t[14],23,-35309556),s=o(s,a,u,c,t[1],4,-1530992060),c=o(c,s,a,u,t[4],11,1272893353),u=o(u,c,s,a,t[7],16,-155497632),a=o(a,u,c,s,t[10],23,-1094730640),s=o(s,a,u,c,t[13],4,681279174),c=o(c,s,a,u,t[0],11,-358537222),u=o(u,c,s,a,t[3],16,-722521979),a=o(a,u,c,s,t[6],23,76029189),s=o(s,a,u,c,t[9],4,-640364487),c=o(c,s,a,u,t[12],11,-421815835),u=o(u,c,s,a,t[15],16,530742520),a=o(a,u,c,s,t[2],23,-995338651),s=i(s,a,u,c,t[0],6,-198630844),c=i(c,s,a,u,t[7],10,1126891415),u=i(u,c,s,a,t[14],15,-1416354905),a=i(a,u,c,s,t[5],21,-57434055),s=i(s,a,u,c,t[12],6,1700485571),c=i(c,s,a,u,t[3],10,-1894986606),u=i(u,c,s,a,t[10],15,-1051523),a=i(a,u,c,s,t[1],21,-2054922799),s=i(s,a,u,c,t[8],6,1873313359),c=i(c,s,a,u,t[15],10,-30611744),u=i(u,c,s,a,t[6],15,-1560198380),a=i(a,u,c,s,t[13],21,1309151649),s=i(s,a,u,c,t[4],6,-145523070),c=i(c,s,a,u,t[11],10,-1120210379),u=i(u,c,s,a,t[2],15,718787259),a=i(a,u,c,s,t[9],21,-343485551),e[0]=l(s,e[0]),e[1]=l(a,e[1]),e[2]=l(u,e[2]),e[3]=l(c,e[3])}function t(e,t,n,r,o,i){return t=l(l(t,e),l(r,i)),l(t<<o|t>>>32-o,n)}function n(e,n,r,o,i,s,a){return t(n&r|~n&o,e,n,i,s,a)}function r(e,n,r,o,i,s,a){return t(n&o|r&~o,e,n,i,s,a)}function o(e,n,r,o,i,s,a){return t(n^r^o,e,n,i,s,a)}function i(e,n,r,o,i,s,a){return t(r^(n|~o),e,n,i,s,a)}function s(t){txt="";var n,r=t.length,o=[1732584193,-271733879,-1732584194,271733878];for(n=64;n<=t.length;n+=64)e(o,a(t.substring(n-64,n)));t=t.substring(n-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(n=0;n<t.length;n++)i[n>>2]|=t.charCodeAt(n)<<(n%4<<3);if(i[n>>2]|=128<<(n%4<<3),n>55)for(e(o,i),n=0;16>n;n++)i[n]=0;return i[14]=8*r,e(o,i),o}function a(e){var t,n=[];for(t=0;64>t;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}function u(e){for(var t="",n=0;4>n;n++)t+=f[e>>8*n+4&15]+f[e>>8*n&15];return t}function c(e){for(var t=0;t<e.length;t++)e[t]=u(e[t]);return e.join("")}function d(e){return c(s(e))}function l(e,t){return e+t&4294967295}function l(e,t){var n=(65535&e)+(65535&t),r=(e>>16)+(t>>16)+(n>>16);return r<<16|65535&n}var f="0123456789abcdef".split("");return"5d41402abc4b2a76b9719d911017c592"!=d("hello"),d})},{}],47:[function(e,t){"use strict";function n(e){return null===e?String(e):"object"==typeof e||"function"==typeof e?a[l.call(e)]||"object":typeof e}function r(e){return null!==e&&e===e.window}function o(e){if(!e||"object"!==n(e)||e.nodeType||r(e))return!1;try{if(e.constructor&&!f.call(e,"constructor")&&!f.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}var o;for(o in e);return void 0===o||f.call(e,o)}function i(e){return"function"===n(e)}function s(){var e,t,n,r,a,u,c=arguments[0]||{},d=1,l=arguments.length,f=!1;for("boolean"==typeof c&&(f=c,c=arguments[1]||{},d=2),"object"==typeof c||i(c)||(c={}),l===d&&(c=this,--d);l>d;d++)if(null!=(e=arguments[d]))for(t in e)if(!(t in Object.prototype)){if(n=c[t],r=e[t],c===r)continue;f&&r&&(o(r)||(a=p(r)))?(a?(a=!1,u=n&&p(n)?n:[]):u=n&&o(n)?n:{},c[t]=s(f,u,r)):void 0!==r&&(p(e)&&i(r)||(c[t]=r))}return c}for(var a={},u=["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error"],c=0;c<u.length;c++){var d=u[c];a["[object "+d+"]"]=d.toLowerCase()}var l=a.toString,f=a.hasOwnProperty,p=Array.isArray||function(e){return"array"===n(e)};t.exports=s},{}],48:[function(e,t){"use strict";var n=e("./upsert"),r=e("./utils"),o=r.Promise;t.exports=function(e){var t=e.db,i=e.viewName,s=e.map,a=e.reduce,u=e.temporary,c=s.toString()+(a&&a.toString())+"undefined";if(!u&&t._cachedViews){var d=t._cachedViews[c];if(d)return o.resolve(d)}return t.info().then(function(e){function o(e){e.views=e.views||{};var t=i;-1===t.indexOf("/")&&(t=i+"/"+i);var n=e.views[t]=e.views[t]||{};if(!n[d])return n[d]=!0,e}var d=e.db_name+"-mrview-"+(u?"temp":r.MD5(c));return n(t,"_local/mrviews",o).then(function(){return t.registerDependentDatabase(d).then(function(e){var n=e.db;n.auto_compaction=!0;var r={name:d,db:n,sourceDB:t,adapter:t.adapter,mapFun:s,reduceFun:a};return r.db.get("_local/lastSeq")["catch"](function(e){if("not_found"!==e.name)throw e}).then(function(e){return r.seq=e?e.seq:0,u||(t._cachedViews=t._cachedViews||{},t._cachedViews[c]=r,r.db.on("destroyed",function(){delete t._cachedViews[c]})),r})})})})}},{"./upsert":55,"./utils":56}],49:[function(_dereq_,module,exports){"use strict";module.exports=function(func,emit,sum,log,isArray,toJSON){return eval("'use strict'; ("+func+");")}},{}],50:[function(e,t,n){"use strict";function r(e){return-1===e.indexOf("/")?[e,e]:e.split("/")}function o(e,t,n){try{return{output:t.apply(null,n)}}catch(r){return e.emit("error",r),{error:r}}}function i(e,t){var n=E(e.key,t.key);return 0!==n?n:E(e.value,t.value)}function s(e,t,n){return n=n||0,"number"==typeof t?e.slice(n,t+n):n>0?e.slice(n):e}function a(e){var t=new Error("builtin "+e+" function requires map values to be numbers or number arrays");
return t.name="invalid_value",t.status=500,t}function u(e){for(var t=0,n=0,r=e.length;r>n;n++){var o=e[n];if("number"!=typeof o){if(!Array.isArray(o))throw a("_sum");t="number"==typeof t?[t]:t;for(var i=0,s=o.length;s>i;i++){var u=o[i];if("number"!=typeof u)throw a("_sum");"undefined"==typeof t[i]?t.push(u):t[i]+=u}}else"number"==typeof t?t+=o:t[0]+=o}return t}function c(e,t,n,r){var o=t[e];"undefined"!=typeof o&&(r&&(o=encodeURIComponent(JSON.stringify(o))),n.push(e+"="+o))}function d(e,t){var n=e.descending?"endkey":"startkey",r=e.descending?"startkey":"endkey";if("undefined"!=typeof e[n]&&"undefined"!=typeof e[r]&&E(e[n],e[r])>0)throw new _("No rows can match your key range, reverse your start_key and end_key or set {descending : true}");if(t.reduce&&e.reduce!==!1){if(e.include_docs)throw new _("{include_docs:true} is invalid for reduce");if(e.keys&&e.keys.length>1&&!e.group&&!e.group_level)throw new _("Multi-key fetches for reduce views must use {group: true}")}if(e.group_level){if("number"!=typeof e.group_level)throw new _('Invalid value for integer: "'+e.group_level+'"');if(e.group_level<0)throw new _('Invalid value for positive integer: "'+e.group_level+'"')}}function l(e,t,n){var o,i=[],s="GET";if(c("reduce",n,i),c("include_docs",n,i),c("limit",n,i),c("descending",n,i),c("group",n,i),c("group_level",n,i),c("skip",n,i),c("startkey",n,i,!0),c("endkey",n,i,!0),c("inclusive_end",n,i),c("key",n,i,!0),i=i.join("&"),i=""===i?"":"?"+i,"undefined"!=typeof n.keys){var a=2e3,u="keys="+encodeURIComponent(JSON.stringify(n.keys));u.length+i.length+1<=a?i+=("?"===i[0]?"&":"?")+u:(s="POST","string"==typeof t?o=JSON.stringify({keys:n.keys}):t.keys=n.keys)}if("string"==typeof t){var d=r(t);return e.request({method:s,url:"_design/"+d[0]+"/_view/"+d[1]+i,body:o})}return o=o||{},Object.keys(t).forEach(function(e){o[e]=Array.isArray(t[e])?t[e]:t[e].toString()}),e.request({method:"POST",url:"_temp_view"+i,body:o})}function f(e){return function(t){if("not_found"===t.name)return e;throw t}}function p(e,t,n){var r="_local/doc_"+e;return t.db.get(r)["catch"](f({_id:r,keys:[]})).then(function(r){return t.db.allDocs({keys:r.keys,include_docs:!0}).then(function(t){var o=t.rows.map(function(e){return e.doc}).filter(function(e){return e}),i=n[e],s={};o.forEach(function(e){s[e._id]=!0,e._deleted=!i[e._id],e._deleted||(e.value=i[e._id])});var a=Object.keys(i);return a.forEach(function(e){s[e]||o.push({_id:e,value:i[e]})}),r.keys=T.uniq(a.concat(r.keys)),o.splice(0,0,r),o})})}function h(e,t,n){var r="_local/lastSeq";return e.db.get(r)["catch"](f({_id:r,seq:0})).then(function(r){var o=Object.keys(t);return O.all(o.map(function(n){return p(n,e,t)})).then(function(t){var o=[];return t.forEach(function(e){o=o.concat(e)}),r.seq=n,o.push(r),e.db.bulkDocs({docs:o})})})}function v(e,t,n){0===n.group_level&&delete n.group_level;var r,i=n.group||n.group_level;r=A[e.reduceFun]?A[e.reduceFun]:x(e.reduceFun.toString(),null,u,g,Array.isArray,JSON.parse);var a=[],c=n.group_level;t.forEach(function(e){var t=a[a.length-1],n=i?e.key:null;return i&&Array.isArray(n)&&"number"==typeof c&&(n=n.length>c?n.slice(0,c):n),t&&0===E(t.key[0][0],n)?(t.key.push([n,e.id]),void t.value.push(e.value)):void a.push({key:[[n,e.id]],value:[e.value]})});for(var d=0,l=a.length;l>d;d++){var f=a[d],p=o(e.sourceDB,r,[f.key,f.value,!1]);f.value=p.error?null:p.output,f.key=f.key[0][0]}return{rows:s(a,n.limit,n.skip)}}function m(e){return e.request({method:"POST",url:"_view_cleanup"})}function y(e,t,n){if("http"===e.type())return l(e,t,n);if("string"!=typeof t){d(n,t);var o={db:e,viewName:"temp_view/temp_view",map:t.map,reduce:t.reduce,temporary:!0};return R.add(function(){return q(o).then(function(e){function t(){return e.db.destroy()}return T.fin(C(e).then(function(){return I(e,n)}),t)})}),R.finish()}var i=t,s=r(i),a=s[0],u=s[1];return e.get("_design/"+a).then(function(t){var r=t.views&&t.views[u];if(!r||"string"!=typeof r.map){var o=new Error("ddoc "+a+" has no view named "+u);throw o.name="not_found",o.status=400,o}d(n,r);var s={db:e,viewName:i,map:r.map,reduce:r.reduce};return q(s).then(function(e){return"ok"===n.stale||"update_after"===n.stale?("update_after"===n.stale&&C(e),I(e,n)):C(e).then(function(){return I(e,n)})})})}function _(e){this.status=400,this.name="query_parse_error",this.message=e,this.error=!0;try{Error.captureStackTrace(this,_)}catch(t){}}var g,b=e("pouchdb-collate"),w=e("./taskqueue"),E=b.collate,S=b.toIndexableString,k=b.normalizeKey,q=e("./create-view"),x=e("./evalfunc");g="undefined"!=typeof console&&"function"==typeof console.log?Function.prototype.bind.call(console.log,console):function(){};var T=e("./utils"),O=T.Promise,D=new w,R=new w,L=50,A={_sum:function(e,t){return u(t)},_count:function(e,t){return t.length},_stats:function(e,t){function n(e){for(var t=0,n=0,r=e.length;r>n;n++){var o=e[n];t+=o*o}return t}return{sum:u(t),min:Math.min.apply(null,t),max:Math.max.apply(null,t),count:t.length,sumsqr:n(t)}}},C=T.sequentialize(D,function(e){function t(e,t){r.push({id:s._id,key:k(e),value:k(t)})}function n(t,n){return function(){return h(e,t,n)}}var r,s,a;if("function"==typeof e.mapFun&&2===e.mapFun.length){var c=e.mapFun;a=function(e){return c(e,t)}}else a=x(e.mapFun.toString(),t,u,g,Array.isArray,JSON.parse);var d=e.seq||0,l=new w;return new O(function(t,u){function c(){l.finish().then(function(){e.seq=d,t()})}function f(){function t(e){u(e)}e.sourceDB.changes({conflicts:!0,include_docs:!0,since:d,limit:L}).on("complete",function(t){var u=t.results;if(!u.length)return c();for(var p={},h=0,v=u.length;v>h;h++){var m=u[h];if("_"!==m.doc._id[0]){r=[],s=m.doc,s._deleted||o(e.sourceDB,a,[s]),r.sort(i);for(var y={},_=0,g=r.length;g>_;_++){var b=r[_],w=S([b.key,b.id,_]);y[w]=b}p[m.doc._id]=y}d=m.seq}return l.add(n(p,d)),u.length<L?c():f()}).on("error",t)}f()})}),I=T.sequentialize(D,function(e,t){function n(t){return t.include_docs=!0,e.db.allDocs(t).then(function(e){return o=e.total_rows,e.rows.map(function(e){return e.doc.value})})}function r(n){var r;if(r=i?v(e,n,t):{total_rows:o,offset:s,rows:n},t.include_docs){var a=n.map(function(t){var n=t.value,r=n&&"object"==typeof n&&n._id||t.id;return e.sourceDB.get(r).then(function(e){t.doc=e},function(){})});return O.all(a).then(function(){return r})}return r}var o,i=e.reduceFun&&t.reduce!==!1,s=t.skip||0;"undefined"==typeof t.keys||t.keys.length||(t.limit=0,delete t.keys);var a=function(e){return e.reduce(function(e,t){return e.concat(t)})};if("undefined"!=typeof t.keys){var u=t.keys,c=u.map(function(e){var t={startkey:S([e]),endkey:S([e,{}])};return n(t)});return O.all(c).then(a).then(r)}var d={descending:t.descending};if("undefined"!=typeof t.startkey&&(d.startkey=S(t.descending?[t.startkey,{}]:[t.startkey])),"undefined"!=typeof t.endkey){var l=t.inclusive_end!==!1;t.descending&&(l=!l),d.endkey=S(l?[t.endkey,{}]:[t.endkey])}if("undefined"!=typeof t.key){var f=S([t.key]),p=S([t.key,{}]);d.descending?(d.endkey=f,d.startkey=p):(d.startkey=f,d.endkey=p)}return i||("number"==typeof t.limit&&(d.limit=t.limit),d.skip=s),n(d).then(r)}),N=T.sequentialize(D,function(e){return e.get("_local/mrviews").then(function(t){var n={};Object.keys(t.views).forEach(function(e){var t=r(e),o="_design/"+t[0],i=t[1];n[o]=n[o]||{},n[o][i]=!0});var o={keys:Object.keys(n),include_docs:!0};return e.allDocs(o).then(function(r){var o={};r.rows.forEach(function(e){var r=e.key.substring(8);Object.keys(n[e.key]).forEach(function(n){var i=r+"/"+n;t.views[i]||(i=n);var s=Object.keys(t.views[i]),a=e.doc&&e.doc.views&&e.doc.views[n];s.forEach(function(e){o[e]=o[e]||a})})});var i=Object.keys(o).filter(function(e){return!o[e]}),s=i.map(function(t){return e.constructor.destroy(t,{adapter:e.adapter})});return O.all(s).then(function(){return{ok:!0}})})},f({ok:!0}))});n.viewCleanup=T.callbackify(function(){var e=this;return"http"===e.type()?m(e):N(e)}),n.query=function(e,t,n){"function"==typeof t&&(n=t,t={}),t=T.extend({},t),"function"==typeof e&&(e={map:e});var r=this,o=O.resolve().then(function(){return y(r,e,t)});return T.promisedCallback(o,n),o},T.inherits(_,Error)},{"./create-view":48,"./evalfunc":49,"./taskqueue":54,"./utils":56,"pouchdb-collate":52}],51:[function(e,t){function n(e){if(!e||"[object Object]"!==o.call(e)||e.nodeType||e.setInterval)return!1;var t=r.call(e,"constructor"),n=r.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!n)return!1;var i;for(i in e);return void 0===i||r.call(e,i)}var r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=function i(){var e,t,r,o,s,a,u=arguments[0]||{},c=1,d=arguments.length,l=!1;for("boolean"==typeof u&&(l=u,u=arguments[1]||{},c=2),"object"!=typeof u&&"function"!=typeof u&&(u={});d>c;c++)if(null!=(e=arguments[c]))for(t in e)r=u[t],o=e[t],u!==o&&(l&&o&&(n(o)||(s=Array.isArray(o)))?(s?(s=!1,a=r&&Array.isArray(r)?r:[]):a=r&&n(r)?r:{},u[t]=i(l,a,o)):void 0!==o&&(u[t]=o));return u}},{}],52:[function(e,t,n){"use strict";function r(e){if(null!==e)switch(typeof e){case"boolean":return e?1:0;case"number":return u(e);case"string":return e.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"");case"object":var t=Array.isArray(e),r=t?e:Object.keys(e),o=-1,i=r.length,s="";if(t)for(;++o<i;)s+=n.toIndexableString(r[o]);else for(;++o<i;){var a=r[o];s+=n.toIndexableString(a)+n.toIndexableString(e[a])}return s}return""}function o(e,t){for(var r=Math.min(e.length,t.length),o=0;r>o;o++){var i=n.collate(e[o],t[o]);if(0!==i)return i}return e.length===t.length?0:e.length>t.length?1:-1}function i(e,t){return e===t?0:e>t?1:-1}function s(e,t){for(var r=Object.keys(e),o=Object.keys(t),i=Math.min(r.length,o.length),s=0;i>s;s++){var a=n.collate(r[s],o[s]);if(0!==a)return a;if(a=n.collate(e[r[s]],t[o[s]]),0!==a)return a}return r.length===o.length?0:r.length>o.length?1:-1}function a(e){var t=["boolean","number","string","object"],n=t.indexOf(typeof e);return~n?null===e?1:Array.isArray(e)?5:3>n?n+2:n+3:Array.isArray(e)?5:void 0}function u(e){if(0===e)return"1";var t=e.toExponential().split(/e\+?/),n=parseInt(t[1],10),r=0>e,o=r?"0":"2",i=(r?-n:n)-c,s=f.padLeft(i.toString(),"0",d);o+=l+s;var a=Math.abs(parseFloat(t[0]));r&&(a=10-a);var u=a.toFixed(20);return u=u.replace(/\.?0+$/,""),o+=l+u}var c=-324,d=3,l="",f=e("./utils");n.collate=function(e,t){if(e===t)return 0;e=n.normalizeKey(e),t=n.normalizeKey(t);var r=a(e),u=a(t);if(r-u!==0)return r-u;if(null===e)return 0;switch(typeof e){case"number":return e-t;case"boolean":return e===t?0:t>e?-1:1;case"string":return i(e,t)}return Array.isArray(e)?o(e,t):s(e,t)},n.normalizeKey=function(e){switch(typeof e){case"undefined":return null;case"number":return 1/0===e||e===-1/0||isNaN(e)?null:e;case"object":var t=e;if(Array.isArray(e)){var r=e.length;e=new Array(r);for(var o=0;r>o;o++)e[o]=n.normalizeKey(t[o])}else{if(e instanceof Date)return e.toJSON();if(null!==e){e={};for(var i in t)if(t.hasOwnProperty(i)){var s=t[i];"undefined"!=typeof s&&(e[i]=n.normalizeKey(s))}}}}return e},n.toIndexableString=function(e){var t="\x00";return e=n.normalizeKey(e),a(e)+l+r(e)+t}},{"./utils":53}],53:[function(e,t,n){"use strict";function r(e,t,n){for(var r="",o=n-e.length;r.length<o;)r+=t;return r}n.padLeft=function(e,t,n){var o=r(e,t,n);return o+e},n.padRight=function(e,t,n){var o=r(e,t,n);return e+o},n.stringLexCompare=function(e,t){var n,r=e.length,o=t.length;for(n=0;r>n;n++){if(n===o)return 1;var i=e.charAt(n),s=t.charAt(n);if(i!==s)return s>i?-1:1}return o>r?-1:0},n.intToDecimalForm=function(e){var t=0>e,n="";do{var r=t?-Math.ceil(e%10):Math.floor(e%10);n=r+n,e=t?Math.ceil(e/10):Math.floor(e/10)}while(e);return t&&"0"!==n&&(n="-"+n),n}},{}],54:[function(e,t){"use strict";function n(){this.promise=new r(function(e){e()})}var r=e("./utils").Promise;n.prototype.add=function(e){return this.promise=this.promise["catch"](function(){}).then(function(){return e()}),this.promise},n.prototype.finish=function(){return this.promise},t.exports=n},{"./utils":56}],55:[function(e,t){"use strict";function n(e,t,n){return new o(function(o,i){return t&&"object"==typeof t&&(t=t._id),"string"!=typeof t?i(new Error("doc id is required")):void e.get(t,function(s,a){if(s)return"not_found"!==s.name?i(s):o(r(e,n({_id:t}),n));var u=n(a);return u?void o(r(e,u,n)):o(a)})})}function r(e,t,r){return e.put(t)["catch"](function(o){if("conflict"!==o.name)throw o;return n(e,t,r)})}var o=e("./utils").Promise;t.exports=n},{"./utils":56}],56:[function(e,t,n){(function(t,r){"use strict";n.Promise="function"==typeof r.Promise?r.Promise:e("lie"),n.uniq=function(e){var t={};return e.forEach(function(e){t[e]=!0}),Object.keys(t)},n.inherits=e("inherits"),n.extend=e("extend");var o=e("argsarray");n.promisedCallback=function(e,n){return n&&e.then(function(e){t.nextTick(function(){n(null,e)})},function(e){t.nextTick(function(){n(e)})}),e},n.callbackify=function(e){return o(function(t){var r=t.pop(),o=e.apply(this,t);return"function"==typeof r&&n.promisedCallback(o,r),o})},n.fin=function(e,t){return e.then(function(e){var n=t();return"function"==typeof n.then?n.then(function(){return e}):e},function(e){var n=t();if("function"==typeof n.then)return n.then(function(){throw e});throw e})},n.sequentialize=function(e,t){return function(){var n=arguments,r=this;return e.add(function(){return t.apply(r,n)})}};var i=e("crypto"),s=e("md5-jkmyers");n.MD5=function(e){return t.browser?s(e):i.createHash("md5").update(e).digest("hex")}}).call(this,e("/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"/Users/daleharvey/src/pouchdb/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":26,argsarray:23,crypto:24,extend:51,inherits:27,lie:32,"md5-jkmyers":46}]},{},[15])(15)});
(function() {
'use strict';
var db = null;
var dbname = 'idb://pouch_intro';
window.addEventListener( 'load', loadPouch, false );
function loadPouch() {
new PouchDB(dbname, function(err, pouchdb){
if(err){
alert("Can't open pouchdb database");
}else{
db = pouchdb;
windowLoadHandler();
}
});
};
function windowLoadHandler() {
//Other logic to be executed when the page loads should be placed here
addEventListeners();
};
function addEventListeners() {
//Hook in to various parts of the page
document.getElementById('upload').addEventListener( 'click', addToDB, false);
document.getElementById('show').addEventListener( 'click', showText, false);
document.getElementById('reset').addEventListener( 'click', reset, false);
};
var reset= function(){
PouchDB.destroy(dbname, function(err1){
if(err1){
alert("Database destruction error")
} else {
PouchDB(dbname, function(err2, pouchdb){
if(err2){
alert("Database creation error")
} else {
db= pouchdb;
} })
}
});
};
var addToDB = function(){
var text= document.getElementById('enter-text').value;
db.post({text: text});
};
var showText= function(){
db.allDocs({include_docs: true}, function(err, res){
if(!err){
var out= "";
res.rows.forEach(function(element){
out+= element.doc.text + '<br>';
});
document.getElementById('display-area').innerHTML= out;
}
})
};
var showTextAlternative= function(){
var map= function(doc){
if(doc.text){
emit(doc._id, doc.text);
}
};
db.query({map: map}, function(err, res){
if(!err){
var out= "";
res.rows.forEach(function(element){
out+= element.value + '<br>';
});
document.getElementById('display-area').innerHTML= out;
}
})
};
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment